我有一个Web表单向导,我需要验证,支持(a)隐藏字段和(b)条件验证。 Jquery似乎最合适。全部设置如下(简化示例):
$( "form[name=form]" ).validate({
...
ignore: [],
rules: {
'form[owner]': {
required: true,
},
'form[bank_account]': {
required: true,
depends: function(element){
return $('#my_select').is(':checked');`
messages : {
'form[owner]' : {
required: "The owner is necessary",
},
'form[bank_account]' : {
required: "This field must be filled out when switch on",
},
...
})
在javascript控制台上,我收到以下错误:
无法阅读财产'来电'未定义的。检查元素表单[bank_account]时发生异常,检查方法取决于
所有字段都应相应验证,以便在每次提交表单时进行表单验证
如何修复?
答案 0 :(得分:0)
因为我没有发现任何类似于我的问题。我找到的解决方案如下:
不使用depends
方法,而是使用函数来确定是否应该要求字段,包括在此操作应该依赖的条件中(即,是否选中了复选框)
$( "form[name=form]" ).validate({
...
ignore: [],
rules: {
'form[owner]': {
required: true,
},
'form[bank_account]': {
required: function(element){
return $('#my_select').is(':checked') && $('form_bank_account').val();
messages : {
'form[owner]' : {
required: "The owner is necessary",
},
'form[bank_account]' : {
required: "This field must be filled out when switch on",
},
...
})
文档都令人困惑,或者库有错误。