当通过Javascript动态生成表单时,似乎验证函数不起作用。验证似乎有效,但错误消息未显示。这是否有原因,是否有任何解决方法?
我正在使用这个,并且我意识到当代码通过javascript生成时,此代码在表单硬编码时有效,并且无效。
$('#some-form').validate({
rules: {
'feature1': {
min: 1,
required: true
},
'feature2': {
min: 1
},
},
messages: {
'feature1': {
min: "error1",
required: "error2"
},
'feature2': {
min: "error3"
},
}
});
可能存在一些语法错误,因为我没有粘贴代码。
答案 0 :(得分:0)
当表单通过JavaScript动态生成时,验证函数似乎不起作用。
如果您在创建表单后致电.validate()
,它的效果非常好。
您无法将.validate()
方法附加到DOM中尚不存在的表单...非常标准的内容。
验证似乎有效,但错误信息不会显示。
不可能。如果您没有看到错误消息,则验证插件无效。
这是否有原因,是否有解决方法?
如上所述。动态生成form
后,您只能在 创建表单后立即将.validate()
附加到 。
// code that dynamically creates '#some-form' goes here
$('#content').html('<form id="some-form">...</form>');
// then initialize the plugin on '#some-form' here
$('#some-form').validate({ // initialize plugin
....
DEMO:http://jsfiddle.net/ptj9gptr/
修改强>
对于在调用.validate()
后 后动态创建的字段(与插件初始化后相同),使用the .rules()
method动态添加和删除规则。