使用自定义选择器和逻辑进行验证
JQuery Validate with custom selectors and logic
是否可以使用JQuery Validate与自定义选择器和验证逻辑?
$('#myForm').validate({
rules: {
'[myattr="foo"]': function(content) { return $(content).val().contains('bar'); }
}
})
我似乎在文档中找不到这个问题的答案。
谢谢。
要在.validate()
内部声明规则,必须使用name
属性。一个变通方法是使用rules('add')
方法,它可以让你使用任何jQuery选择器。(然而,尽管选择了分配规则的方法,每个字段仍然必须包含唯一的name
属性。)
$('[myattr="foo"]').rules('add', {
required: true,
messages: {
required: "optional custom message"
}
});
见:http://docs.jquery.com/Plugins/Validation/rules .22add.22rules
指出:
请确保您使用的是最新版本的插件,该插件最近才修复了在
rules('add')
中使用messages
的错误如果你的选择器类似于
class
,你想要选择多个元素,你必须将rules('add')
包装在jQuery的.each()
中。
$('.myclass').each(function() {
$(this).rules('add', {
required: true,
messages: {
required: "optional custom message"
}
});
});
要使用自定义函数作为规则,只需使用addMethod
方法创建方法/规则,然后像其他规则一样声明它。
$.validator.addMethod('myrule', function(value, element, params) {
// your function
// return true to pass
// return false to fail
}, "error message");
$('#myform').validate({
rules: {
myfield: {
required: true,
myrule: true
}
}
});
见:http://docs.jquery.com/Plugins/Validation/Validator/addMethod namemethodmessage
相关文章:
- jQuery自定义验证比较多个输入的序列
- 自定义表单验证和提交
- jQuery工具验证器自定义效果-添加&消除影响
- 在 AngularJs 中验证自定义指令(我想让它成为必需的)
- jQuery验证自定义错误
- jQuery验证自定义方法规则和具有动态名称的消息
- 有没有一种更优雅、可扩展的方式可以向JQuery验证自定义方法添加多个条件
- 简单的jquery验证-自定义位置错误消息放置
- jQuery验证插件:验证自定义日期格式
- jQuery验证自定义验证器不会被触发,即使名称是正确的
- 无法使用淘汰验证验证自定义组
- HTML5表单验证自定义
- JS验证自定义规则来检查数组是否为空
- 使用jQuery表单验证自定义Ajax请求
- 当返回false时,JQuery验证自定义方法不显示
- 未定义不是函数:单元测试护照身份验证自定义回调
- 不同元素的Jquery验证自定义消息动态变化
- 添加文件之前进行验证(自定义)
- 如何使用 jQuery 验证插件验证自定义 JavaScript 对象
- 淘汰验证自定义消息模板的问题