字段 pesel 和 nip 位于一个组中。用户必须填写两个字段中的一个,然后不需要secend字段。但是当用户点击提交按钮时,函数pesel或nip是调用。如何将规则从true更改为false。
例如: 当用户正确填写字段(例如pesel)时,则在规则中将值nip从true更改为false。
我的代码:
jQuery.validator.addMethod("require_from_group", function(value, element, options){
var numberRequired = options[0],
selector = options[1],
$fields = $(selector, element.form),
validOrNot = $fields.filter(function() {
return $(this).val();
}).length >= numberRequired,
validator = this;
if(!$(element).data('being_validated')) {
$fields.data('being_validated', true).each(function(){
validator.valid(this);
}).data('being_validated', false);
}
if (validOrNot) {
$(selector).each(function() {
$(this).removeClass('error');
$('label.error[for='+$(this).attr('id')+']').remove();
});
}
return validOrNot;
}, jQuery.format("Jedno z pol jest wymagane."));
规则:
submitHandler:function(form) {
SubmittingForm();
},
rules: {
numer_budynku: {
required: true
},
pesel: {
require_from_group: [1,".at_least_one"],
pesel:true
},
nip: {
require_from_group: [1,".at_least_one"],
nip:true
},
sid: {
required: true,
sid:true
}
寻求帮助。
答案 0 :(得分:0)
您不能将nip:true
作为key:value
对放在此处,因为它没有任何意义。 nip
不是常规。
nip: { // < - name of field
require_from_group: [1,".at_least_one"], // <- rule declared
nip:true // <- meaningless, REMOVE THIS LINE
},
require_from_group
规则已内置于the additional-methods.js
file中,因此您无需自行编写。只需包含该文件。
引用OP :
“字段pesel和nip在一个组中。用户必须填写两个字段之一,然后不需要secend字段。”
这就是require_from_group
方法/规则的用途。
“但是当用户点击提交按钮,函数pesel或nip是调用。如何将规则从true更改为false。”
将规则从true
更改为false
? required
规则?您未在required
或nip
上使用pesel
规则,而require_from_group
规则自动会生成一个字段required
。填写一个字段时,另一个字段不再是required
。
“例如:当用户正确填写字段(例如pesel)时,则规则会将值nip从true更改为false。”
您无法将nip
或pesel
从true
更改为false
,因为nip
和pesel
无法从true
更改1}}到false
。它们不是此插件的预定义方法/规则。这是可接受的格式......
rules: { // <- the plugin OPTION
myField: // <- the field's NAME attribute
method: param // <- the RULE and its accepted PARAMETER(s)
}
}