Пользовательское правило jQuery всегда возвращает true

Я использую jQuery с шагами jQuery и проверкой jQuery.

Я написал несколько пользовательских правил для раздела кода, однако эти правила работают неправильно.

Вот мой html-код:

<h2>Second Step</h2>
<section>
    <form id="SecondStep" >
        <section class="expose">
            <div class="label-field clearfix">
                <fieldset data-role="controlgroup">
                    <legend>Textbox</legend>
                    <input type="text" id="textbox" name="textbox" />
                </fieldset>
            </div>
            <div class="label-field clearfix">
                <fieldset data-role="controlgroup">
                    <legend>Password</legend>
                    <input type="password" id="password" name="password" />
                </fieldset>
            </div>
        </section>
    </form>
</section>

Вот мои пользовательские правила:

$("#SecondStep").validate({
    rules: {
        textbox: "required",
        password: {
            required: true,
            minlength: 5
        }
    },
    messages: {
        textbox: "Please enter information into the textbox",
        password: {
            required: "Please enter a password",
            minlength: "Your password must consist of at least 5 characters"
        }                           
    }
});

Вот мой код, который вызывается с помощью кнопки onClick для проверки моих пользовательских правил:

function validateAllElements()
{
     var isValid = $("#SecondStep").valid(); 
     alert(isValid);
}

Когда я вызываю функцию validateAllElements, даже если у меня вообще нет значений в элементах текстового поля и формы пароля, метод .valid возвращает значение true.

Могу ли я получить помощь с этим кодом?

заранее спасибо


person user2985419    schedule 30.01.2014    source источник


Ответы (1)


После нескольких тестов с JSFiddle ваш код работает, если его завернуть в файл $(document).ready(function() {}).

$(document).ready(function() {
    $("#SecondStep").validate({
    rules: {
        textbox: "required",
        password: {
            required: true,
            minlength: 5
        }
    },
    messages: {
        textbox: "Please enter information into the textbox",
        password: {
            required: "Please enter a password",
            minlength: "Your password must consist of at least 5 characters"
        }                           
    }
    });
    $('#test').click(function () {
         var isValid = $("#SecondStep").valid(); 
         alert(isValid);
    });
});
person guli    schedule 30.01.2014