为什么jQuery表单验证器插件会立即开始验证?

时间:2011-06-27 17:02:35

标签: jquery validation forms

我有以下表单验证逻辑:

validator = $form.validate({
  rules: {
    'comment': {
      regexp: /^[0-9a-zA-Z.,\s\/\(\)\&\'\-]*$/
    }
  }
});

我对jQuery验证插件的理解是,在首次点击提交按钮之前,它不会进行验证;在那之后,它热切地验证。实际上,这是我在其他经过验证的表单中看到的行为。但出于某种原因,在这种特殊情况下,一旦我离开comment输入,它就立即被验证(如果我输入了无效字符,我会在输入字段下面看到一条红色消息)。 / p>

有没有人遇到过这个?是否有这种行为的已知解释(理想情况下也是“修复”)?

1 个答案:

答案 0 :(得分:1)

如果查看documentation for this plugin,您会看到onfocusout选项默认为true,并执行以下操作:

  

验证元素(除了   复选框/单选按钮)上模糊。如果   没有输入,所有规则都是   跳过,除了场地   已被标记为无效。

所以看起来这是设计的。您可以将该选项设置为false以获得所需的行为。