условная проверка в зависимости от 2 элементов - PullRequest
0 голосов
/ 29 апреля 2019

Использование проверки jquery Я использовал .addMethod для добавления регулярного выражения.У меня также есть правило, если флажок не установлен, тогда он потребует заполнения элемента, а также соблюдения регулярных выражений.

noPreviousEmployers - это идентификатор флажка, который, если отмечен, не должен отображать какие-либо сообщения проверки, если он не отмечен, то будет отображаться требуемое сообщение, и если он содержит данные во входных данных, он должен выполнить регулярное выражение

    $.validator.addMethod("regex", function (value, element, regexpr) {
       return regexpr.test(value);
    }, "");


rules:{
    EndSalary1:{
        required: '#noPreviousEmployers:unchecked', 
        regex: /^\$?[0-9]{1,3}(\,?\d{3})?(\,?\d{3})?(\.[0-9]{2})?$/
    }

},
messages:{  
    EndSalary1:{
         required: "Required Field", 
         regex: "Format As US Currency"
    }    
}

Я даже пробовал с этим

$.validator.addMethod("regex", function (value, element, regexpr) {
    if(value.length != 0){
        return regexpr.test(value);
    }
}, "");     

, когда я проверяю с установленным флажком и без данных в поле, это отобразит сообщение для проверки регулярного выражения.В этом случае ничего не должно отображаться.

1 Ответ

0 голосов
/ 30 апреля 2019

Вам не нужно писать пользовательское правило для любых новых regex шаблонов.Уже существует правило по умолчанию, встроенное в файл additional-methods.js с именем pattern, в качестве параметра которого используется регулярное выражение.

rules:{
    EndSalary1:{
        required: '#noPreviousEmployers:unchecked', 
        pattern: /^\$?[0-9]{1,3}(\,?\d{3})?(\,?\d{3})?(\.[0-9]{2})?$/
    }
}

DEMO : jsfiddle.net / mrf5ja4d /

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