正如其他人所说,这不是一种安全的方法,因为任何人都可以看到/操纵 JavaScript 并轻松绕过它。
但是,为了简单地回答您的问题,以下是它的完成方式。(这也是一个很好的关于使用的学习练习addMethod
)......
jQuery.validator.addMethod('answercheck', function (value, element) {
return this.optional(element) || /^\bcat\b$/.test(value);
}, "Type the correct answer");
而且你也不需要为answercheck
下面指定一条消息,因为它已经在上面定义了method
。(您还缺少此代码中的一些大括号{
、冒号:
和逗号,
。)
rules: {
input_answer: { // <- missing colon after input_answer
required: true,
answercheck: true
}
}, // <- missing brace & comma
messages: {
input_answer: { // <- missing colon after input_answer
required: "Answer the question"
//, answercheck: "Your answer is incorrect" // not needed, specified in method
}
} // <- missing brace and maybe a comma depending on what follows
工作 jsFiddle 演示:
http://jsfiddle.net/ht8Lu/
根据文档,您需要构建自己的自定义方法。
添加自定义验证方法。它必须由名称(必须是合法的 javascript 标识符)、基于 javascript 的函数和默认字符串消息组成。
论据:
姓名; String 方法的名称,用于识别和引用它,必须是有效的 javascript 标识符
方法; Callback 实际的方法实现,如果元素有效则返回 true。第一个参数:当前值。第二个参数:经过验证的元素。第三个参数:参数。
消息(可选);String, Function 要为此方法显示的默认消息。可以是 jQuery.validator.format(value) 创建的函数。如果未定义,则使用已经存在的消息(便于本地化),否则必须定义字段特定的消息。