Jquery 如何为白名单输入(如“t”|“f”)编写验证规则?

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(

我有一个问题,当我为jQuery验证添加规则时,会收到默认错误消息:

请重新输入相同的值

无论我输入什么,错误消息仍然有效

这是我的规则:正确吗

$( "#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标记。