我有以下表单验证逻辑:
validator = $form.validate({
rules: {
'comment': {
regexp: /^[0-9a-zA-Z.,\s\/\(\)\&\'\-]*$/
}
}
});
我对jQuery验证插件的理解是,在首次点击提交按钮之前,它不会进行验证;在那之后,它热切地验证。实际上,这是我在其他经过验证的表单中看到的行为。但出于某种原因,在这种特殊情况下,一旦我离开comment
输入,它就立即被验证(如果我输入了无效字符,我会在输入字段下面看到一条红色消息)。 / p>
有没有人遇到过这个?是否有这种行为的已知解释(理想情况下也是“修复”)?
答案 0 :(得分:1)
如果查看documentation for this plugin,您会看到onfocusout
选项默认为true,并执行以下操作:
验证元素(除了 复选框/单选按钮)上模糊。如果 没有输入,所有规则都是 跳过,除了场地 已被标记为无效。
所以看起来这是设计的。您可以将该选项设置为false以获得所需的行为。