Jquery 如何为白名单输入(如“t”|“f”)编写验证规则?
我有一个问题,当我为jQuery验证添加规则时,会收到默认错误消息: 请重新输入相同的值 无论我输入什么,错误消息仍然有效 这是我的规则:正确吗Jquery 如何为白名单输入(如“t”|“f”)编写验证规则?,jquery,jquery-validate,Jquery,Jquery Validate,我有一个问题,当我为jQuery验证添加规则时,会收到默认错误消息: 请重新输入相同的值 无论我输入什么,错误消息仍然有效 这是我的规则:正确吗 $( "#answer" ).rules( "add", { maxlength: 1, equalTo: ("t" || "f" || "T" || "F"), messages: { required: "Required input - answer T or f", maxlength: jQuery.format(
$( "#answer" ).rules( "add", {
maxlength: 1,
equalTo: ("t" || "f" || "T" || "F"),
messages: {
required: "Required input - answer T or f",
maxlength: jQuery.format("Please, T or f")
}
});
这是不正确的:
equalTo: ("t" || "f" || "T" || "F"),
这不是使用equalTo规则的方式
见文件:
描述:要求元素与另一个元素相同
换句话说,equalTo方法仅用于将两个字段相互比较,并且该参数只能是针对另一个字段的选择器
如果试图匹配字符,则需要编写正则表达式regex并使用中包含的pattern方法
除了正则表达式之外,您还可以使用编写自定义规则。也许像
jQuery.validator.addMethod("torf", function(value, element) {
return (value == "T" || value == "F");
}, "Enter T or f");
申请像
$( "#answer" ).rules( "add", {
torf: true,
....
t | | f | t | | f对t的求值等于:equalTo:t;因此,发布的代码是不正确的。@user2864740如何将其求值为?不能使用该语法或任何完全立即求值的表达式来完成。我怀疑有一种方法可以使用函数来验证输入,但我很快放弃了理解验证文档的尝试?发布足够的代码来重现问题,包括HTML标记。