Я бьюсь головой об особый метод проверки.Это не дает мне никаких ошибок, а остальная часть проверки работает.Мне нужно пройти валидацию, если заполнено одно или другое поле формы, но НЕ оба.Я нашел несколько примеров и / или ИЛИ как здесь, так и в других местах в сети, но ничего прямо не применимо к этой ситуации.Я также прочитал несколько других руководств по addMethod, самая большая дыра, которую я обнаружил, заключается в том, что ни один из 20-30 примеров, которые я прочитал, не показывает взаимодействия с другими правилами валидации, которые, я считаю, могут быть частью моей проблемы.
Ниже приведен соответствующий фрагмент кода;и у меня есть несколько (потенциально n00b) вопросов:
- Может ли такая группа сосуществовать с другими "нормальными" правилами проверки?Если это так, нужно ли упоминать группу в наборе правил?
- В разделе addClassRules, почему на имя правила (в данном случае requiredNotBoth) никогда не ссылаются где-либо еще?Я выбрал эту форму, основываясь на примере нескольких полей в jQuery-документах. Ожидается ли, что это будет обязательно-methodName -?
Наконец, правильно ли я выполняю сравнение в первую очередь?Есть ли лучший / чище / красивее способ сделать это определение?
$.validator.addMethod("NotBoth", function() {
return ((($('#amtfield').val() != "") && ($('#pctfield').val() == "")) || (($('#amtfield').val() == "") && ($('#pctfield').val() != "")));
}, " Please enter either a dollar amount or percentage for the discount.");
$.validator.addClassRules({
requiredNotBoth: {digits:true, NotBoth:true}
});
$(document).ready(function(){
$("#EditForm").validate({
groups: {
NotBoth: "pctfield amtfield"
},
rules:{
codetextfield: {required: true},
uselimitfield: {required: true},
},
--snip--
Большое спасибо за любую помощь в этом, это сводит меня с ума