Javascript - HAPPY.js пароль

0

Я использую happy.js для проверки формы. для этой формы мне нужно, чтобы пользователь представил один из пяти возможных паролей, если пользователь не отправил ни один из паролей правильно, форма должна завершиться неудачей.

не знаю, что я делаю неправильно здесь. оцените любую помощь. код ниже:

ФРОНТ:

 <script type="text/javascript">
        $(document).ready(function () {
                        $('#form10').isHappy({
                            fields: {
                                // reference the field you're talking about, probably by 'id'
                                // but you could certainly do $('[name=name]') as well.

                                 '#Field226': {
                                     required: true,
                                     message: 'Please submit a valid Activation Code.',
                                     test: happy.activationCode
                                 }
                            }
                        });

                    });
    </script>

СЧАСТЛИВЫЙ МЕТОД

var happy = {
    activationCode: function (val) {
        return (val == "dfgdfsg" || "uyioiuo" || "bvnm" || "zxvcx" || "z453v");
    }

};
  • 4
    Вы понимаете, что это не является безопасным правом ....
  • 1
    val == "dfgdfsg" || "uyioiuo" || "bvnm" || "zxvcx" || "z453v" не делает то, что вы думаете, что делает. Повторите val == или итерируйте массив.
Показать ещё 4 комментария
Теги:
happy.js

2 ответа

1
Лучший ответ

Это устранит вашу проблему...

return (val == "dfgdfsg" || val == "uyioiuo" || val == "bvnm" ||
    val == "zxvcx" || val == "z453v");

Вам нужно выполнить сравнение val == "something" для каждого из значений, которые вы не делали.

Но я настоятельно призываю вас пересмотреть это. Любой может просмотреть ваш источник страницы и увидеть все 5 паролей.

  • 1
    Ага. я буду уверен, чтобы скрыть свои следы.
0

Ваша тестовая функция всегда будет оценивать значение true:

return (val == "dfgdfsg" || "uyioiuo" || "bvnm" || "zxvcx" || "z453v");

Потому что вы делаете ИЛИ со строкой, а строки правдивы. Вам нужно изменить его на это:

return (
    val == "dfgdfsg" || 
    val == "uyioiuo" || 
    val == "bvnm"    || 
    val == "zxvcx"   || 
    val == "z453v");

Конечно, как отмечали другие, это совершенно небезопасно, поэтому я надеюсь, что вы просто проверите его и у вас будет более безопасный способ проверки паролей.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню