условное утверждение проверки? - PullRequest
1 голос
/ 29 октября 2011

Я использую этот плагин jquery: http://docs.jquery.com/Plugins/Validation

и хочу написать условное утверждение.

Если пользователь оставляет поле определенной формы пустым, то это поле не требуется.Однако, если они не оставляют это поле пустым, оно должно начинаться с цифры

1 Ответ

8 голосов
/ 29 октября 2011

Для части «должен начинаться с цифры», я думаю, вам понадобится пользовательское правило.

Для части «требуется, если другое поле не пустое», вы можете использовать Выражение зависимости , чтобы решить, требуется ли оно при запуске валидатора:

Сложите их вместе, и вы получите что-то вроде этого:

<form>
    <input name="first">
    <input name="second">
</form>
$.validator.addMethod("startsWithNum", function(input, element) {
    // First char must be digit if not empty
    return ! input || input.match(/^[0-9]/);
}, "This field must start with a number");

$('form').validate({
    rules: {
        first: {required : true},
        second: {
            "startsWithNum" : true,
            required: function() {
                // required if <input name="first"> is not empty
                return $('[name="first"]').val() !== '';
            }
        }
    }
});

Демонстрация: http://jsfiddle.net/qCELA/2/


В форме есть только один ввод, который мне нужно сделать.Если пользователь оставил это поле пустым, правила не применяются.В противном случае это единственное поле ввода должно начинаться с цифры.

Если у вас есть только одно поле ввода, все, что вам нужно, это пользовательское правило:

$('form').validate({
    rules: {
        second: {"startsWithNum" : true}
    }
});

Демо: http://jsfiddle.net/qCELA/3/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...