6 / 6 / 5
Регистрация: 15.01.2016
Сообщений: 220
1

Необходимо использовать метод trim() в поле для ввода пароля

11.11.2016, 15:25. Показов 2572. Ответов 30
Метки нет (Все метки)

Многие пользователи копируют пароль с почты, захватывая пробелы, и вставляют в поле для ввода пароля. Жмут "ок" и не могут зайти, потому что нет метода trim. Вопрос простой: куда вставить строку с trim и как она должна выглядеть?

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
$('#login_basic').submit(function() {
    eс.preventDefault();
 
    $('#cred_error, #cred_unknown, #cred_invalid').hide();
 
   
    if (requiredInputsHaveDataCheck('login_basic', required_inputs) === true) {
        formProcessingStart('login_basic');
 
        runLoginRequest('POST', domain_base, 'login', site_language, 'login_basic');
    }
});
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.11.2016, 15:25
Ответы с готовыми решениями:

Реализовать контроль ошибок ввода данных в поле, предназначенное для ввода пароля
4.Реализовать в JavaScript контроль ошибок ввода данных в поле, предназначенное для ввода пароля.

Поле для ввода пароля
Доброго времени суток. Какое дефолтное значение у свойства PasswordChar в TextBox? Т.е. его моно...

Как сделать поле для ввода пароля
В Java есть jPasswordField вроде. В С# не нашёл похожего. Какие есть варианты?

Как сделать стандартное поле для ввода пароля ?
Здравствуйте! подкиньте пожалуйста парочку идей, как можно сделать стандартное поле для ввода...

30
Эксперт JS
2424 / 1733 / 622
Регистрация: 11.07.2016
Сообщений: 4,011
11.11.2016, 15:29 2
formProcessingStart() и runLoginRequest() функции продемонстрируйте нам пожалуйста.
0
6 / 6 / 5
Регистрация: 15.01.2016
Сообщений: 220
11.11.2016, 15:52  [ТС] 3
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
function runLoginRequest(method_type, domain_base, url_path, site_language, form_id)
{
    $.when(
        getApiResponse(method_type, domain_base, url_path, formDataToJson(form_id))
    )
    .done(function(response) {
        var url = window.location.href;
        if (url.indexOf('resign') !== -1) {
          
            $('#create_ad').submit();
        } else if (url.indexOf('logout') !== -1 || url.indexOf('passwordreminder') !== -1) {
            
            window.location.href = buildUrl(domain_base, site_language);
        } else {
            window.location.href = getPathFromUrl(window.location.href, 'modal');
        }
    })
    .fail(function(response) {
        switch (response.status.toString()) {
            case '400': // Bad request (email or password were invalid)
                $('#credentials_error, #credentials_invalid').show();
            break;
 
            case '401': // Unauthorized (email/password combination not in the db)
                $('#cred_error, #cred_unknown').show();
            break;
 
            default:
                handleFailedRequest(response, domain_base, site_language);
            break;
        }
 
        formProcessingEnd(form_id);
    });
}
а эта функция еще глубже уходит

Javascript
1
2
3
4
5
6
7
function formProcessingStart(form_id)
{
    displayLoadingIcon(form_id)
    disableSumbmitButton(form_id);
    clearFormValidation(form_id);
    hideFormPlaceholderMessages(form_id);
}
0
Эксперт JS
2424 / 1733 / 622
Регистрация: 11.07.2016
Сообщений: 4,011
11.11.2016, 16:06 4
formDataToJson() функцию продемонстрируйте нам пожалуйста.
0
6 / 6 / 5
Регистрация: 15.01.2016
Сообщений: 220
11.11.2016, 16:09  [ТС] 5
Balanaar,
а вы взламывать ничего не собираетесь?
А то одни вопросы по функциям, а комментарий пока не поступало. Я боюсь, что сюда весь сайт вывалю )))
0
Эксперт JS
2424 / 1733 / 622
Регистрация: 11.07.2016
Сообщений: 4,011
11.11.2016, 16:10 6
Либо вываливайте функции, либо сами ищите, где у вас считывается значение пароля из формы. Мне без разницы.
0
84 / 84 / 41
Регистрация: 14.02.2015
Сообщений: 320
11.11.2016, 16:15 7
Цитата Сообщение от And82 Посмотреть сообщение
а вы взламывать ничего не собираетесь?
Боюсь вас огорчить, но весь js-код, который вы имеете на сайте, можно тем или иным образом прочитать. Причем в большинстве случаев это элементарно.

Если же вы не хотите показывать ф-ии, то почитайте документацию по методу trim() и сами решайте, где его юзать.
Кратко:
Javascript
1
var login = $('селектор инпута логина, или объект').val().trim();
1
6 / 6 / 5
Регистрация: 15.01.2016
Сообщений: 220
11.11.2016, 16:20  [ТС] 8
Ребят не злитесь, едем дальше )))

Javascript
1
2
3
4
5
6
7
8
function formDataToJson(form_id) {
    var form_data = $('#' + form_id).serializeArray().reduce(function(obj, item) {
        obj[item.name] = item.value;
        return obj;
    }, {});
 
    return JSON.stringify(form_data);
}
0
Эксперт JS
2424 / 1733 / 622
Регистрация: 11.07.2016
Сообщений: 4,011
11.11.2016, 16:26 9
Отлично. Последний шаг. Нужна разметка вашей формы.
1
6 / 6 / 5
Регистрация: 15.01.2016
Сообщений: 220
11.11.2016, 16:34  [ТС] 10
Цитата Сообщение от Balanaar Посмотреть сообщение
Нужна разметка вашей формы.
Вы имеете ввиду form_id ?

Добавлено через 6 минут
не, наверно не это вы имеете ввиду. Можно поконкретней?
0
Эксперт JS
2424 / 1733 / 622
Регистрация: 11.07.2016
Сообщений: 4,011
11.11.2016, 16:42 11
HTML-разметка формы.
HTML5
1
2
3
<form id="XXXXXX">
...
</form>
0
6 / 6 / 5
Регистрация: 15.01.2016
Сообщений: 220
11.11.2016, 16:44  [ТС] 12
Цитата Сообщение от Balanaar Посмотреть сообщение
HTML-разметка формы.
секунду, форма логина с двумя полями (логин, пароль)?
0
Эксперт JS
2424 / 1733 / 622
Регистрация: 11.07.2016
Сообщений: 4,011
11.11.2016, 16:45 13
Видимо да. Не знаю, как у вас там форма устроена.
0
6 / 6 / 5
Регистрация: 15.01.2016
Сообщений: 220
11.11.2016, 17:30  [ТС] 14
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
v class="position-relative modal-content">
            <div class="modal-header">
                <button type="button" class="" data-dismiss="modal" aria-label="{#close#}">
                    <span aria-hidden="true">&times;</span>
                </button>
 
                <h4 id="login-modal_label" class="modal-title text-info text-uppercase">
                    {#si_login#}
                </h4>
 
                <div id="error_msg_after_reg" class="display-none text-info" style="text-align:center;">
                    {#si_error_msg_after_reg#}
                </div>
            </div>
 
            <div class="modal-body row">
                <div id="cred_error" class="col-md-12 display-none">
                    <div class="alert alert-danger" role="alert">
                        <h4 class="display-inline">
                            <span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span>
                        </h4>
                        <span id="cred_invalid" class="display-none">{#si_invalid_creds#}</span>
                        <span id="cred_unknown" class="display-none">{#si_wrong_cred#}</span>
                    </div>
                </div>
 
                <form id="login_basic" method="" action="#" novalidate>
                    <div class="col-md-12 form-group">
                        <input id="login_email_username" class="input form-control" type="email" name="login_email_username" value="" placeholder="{#si_email_address#}" maxlength="191" tabindex="{counter name='ti'}">
 
                        <div id="login_email_username_failed" class="failed_validation_message"></div>
                    </div>
 
                    <div class="col-md-12 form-group">
                        <div class="input-group">
                            <input id="login_password" class="input form-control" type="password" name="login_password" value="" placeholder="{#si_password#}" maxlength="16" tabindex="{counter name='ti'}">
                            <div class="input-group-addon cursor-pointer" style="padding: 0px 4px;" onclick="showPassword('login_password', 'login_show_pass_button');">
                                <span id="login_show_pass_button" class="glyphicons glyphicons-eye-open" title="{#si_show_password#}"></span>
                            </div>
                        </div>
                        <div id="login_password_failed" class="failed_validation_message"></div>
                    </div>
 
                    <div class="col-md-6">
                        <label class="position-relative" for="auto_login" style="font-weight: normal; bottom: 2px;">
                            <input id="auto_login" type="checkbox" name="login_form_auto_login" value="1" checked tabindex="{counter name='ti'}"> {#si_remember_me#}
                        </label>
                    </div>
 
                    <div class="col-md-6 text-right">
                        <a class="rhs_box_link" href="{$domain_base}{$url.passowrdreminder}" tabindex="{counter name='ti'}">
                            {#si_forgot_pw#}
                        </a>
                    </div>
 
                    <div class="col-md-12" style="margin-top: 10px;">
                        <input class="btn btn-info btn-block" type="submit" value="{$buttontext.login}" tabindex="{counter name='ti'}">
                    </div>
                </form>
 
                <div class="col-md-12">
                    <hr/>
                </div>
 
                <div class="col-md-12">
                    {if !$ges_privacy_ref}
                        <div class="text-center">
                            {#si_not_a_user#}
                            <a id="hide_login_show_register" class="rhs_box_link" href="#" tabindex="{counter name='ti'}">
                                {#si_sign_up#}
                            </a>
                        </div>
                    {else}
                        <a class="btn btn-link" href="{$domain_base}{$url.ad_resign}" tabindex="{counter name='ti'}">
                            {#si_create_off_now#}
                        </a>
                    {/if}
                </div>
            </div>
        </di
0
Эксперт JS
2424 / 1733 / 622
Регистрация: 11.07.2016
Сообщений: 4,011
12.11.2016, 01:04 15
По идее так:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
function formDataToJson(form_id) {
    if (form_id == 'login_basic') {
        var passElem = $('#login_password');
        passElem.val(passElem.val().trim());
    }
    var form_data = $('#' + form_id).serializeArray().reduce(function(obj, item) {
        obj[item.name] = item.value;
        return obj;
    }, {});
 
    return JSON.stringify(form_data);
}
1
6 / 6 / 5
Регистрация: 15.01.2016
Сообщений: 220
14.11.2016, 11:22  [ТС] 16
Balanaar,

согласен с тобой. Я бы тоже это туда написал, будь у меня опыт. Хотя я не до конца понимаю твой IF.
Но, к сожалению не работает. ((
0
Эксперт JS
2424 / 1733 / 622
Регистрация: 11.07.2016
Сообщений: 4,011
14.11.2016, 11:24 17
Что не работает? Что говорит консоль? Точками останова пробовали дебажить?
0
6 / 6 / 5
Регистрация: 15.01.2016
Сообщений: 220
14.11.2016, 11:30  [ТС] 18
ничего не говорит, как писало "неправильный пароль или имэйл", так и пишет.

Я в Sublime файлы редактирую, использую Perforce. Не уверен, что знаю есть ли тут вообще точки останова.
0
Эксперт JS
2424 / 1733 / 622
Регистрация: 11.07.2016
Сообщений: 4,011
14.11.2016, 11:32 19
Они есть в любом браузере в консоли разработчика... Советую вам познакомиться с ней (консолью), если вы до сих пор этого не сделали.
1
6 / 6 / 5
Регистрация: 15.01.2016
Сообщений: 220
14.11.2016, 12:11  [ТС] 20
Занимаюсь, спасибо. Как разберусь, отпишусь.

В VisualStudio точки останова делал, а в хроме нет. ))

Добавлено через 26 минут
хм, забавная штука, undefined, мы же вроде озвучили переменную passElem... что не нравится?

function formDataToJson(form_id) { <-------- form_id = "login_basic"
...
...
var passElem = $('#login_password'); <---------- passElem = undefined

В 'Local' еще form_data: undefined. Но такое чувство, что ни при чём это.

Добавлено через 8 минут
В 'Local' всё нормально, не там точку поставил, вот и undefined показывало.

return JSON.stringify(form_data); <--------- form_data = Object {login_email_username: "voidpv@******.***", login_password: " 123456 ", login_form_auto_login: "1"}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.11.2016, 12:11
Помогаю со студенческими работами здесь

Как создать поле для ввода конкретного пароля HTML
Здравствуйте!Делаю веб-квест для детей, помогите, пожалуйста, сделать поле для ввода пароля (это...

Поле ввода пароля
Помогите пожалуйста! Я решил изучить язык Python и написал маленький код, что-то вроде &quot;Входа&quot; в...

Как использовать Trim для содержимого TextBox.Text?
Здраствуйте ! Немогу розобраца, как использывать Trimк TextBox.Text, когда пишу так...

Создать поле ввода пароля HTML
Создать поле ввода пароля HTML. Пароль должен состоять из не менее 9 символов, что бы была A,a и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru