声明jQuery验证插件规则 - 属性与类和代码

Jor*_*Lev 26 jquery jquery-validate

在jQuery Validate插件的示例中,我看到了三种不同的方法来声明验证规则:

  • CSS类 - 例如 <input type="text" name="whatever" class="required" />
  • 属性 - 例如 <input type="text" name="whatever" required />
  • JS代码 - 例如 $("#myForm").validate({ rules: { whatever: "required", ... } });

但我没有在文档中看到任何解释为什么你使用其中一个的原因.我也没有看到如何在每种方法中使用验证方法的解释(例如,如何将"max(value)"方法与tag属性或css类一起使用?).

这三种方法之间的权衡是什么?您是如何使用每种方法声明所有不同的验证方法?

Pri*_*ome 37

您可以通过数据规则属性应用规则.这是最简单的方法,可能是维护干净代码的最佳方式......

例:

<form id="myform">
    <input type="text" name="email" data-rule-required="true" data-rule-email="true">    
    <input type="text" name="password" id="password" data-rule-required="true" data-rule-minlength="6">
    <input type="text" name="password-confirm" data-rule-required="true" data-rule-minlength="6" data-rule-equalto="#password">
</form>
Run Code Online (Sandbox Code Playgroud)

您甚至可以通过数据属性提供消息:

<input id="cemail" name="email" data-rule-required="true" data-rule-email="true" data-msg-email="Please enter a valid email address" />
Run Code Online (Sandbox Code Playgroud)

在JavaScript中只需调用:

$('#myform').validate();
Run Code Online (Sandbox Code Playgroud)

  • 值得注意的是,'data-rule-'标记功能仅在jquery.validate v1.10及更高版本中可用. (3认同)
  • 请注意,等于规则属性是data-rule-equalto ="#password"(没有's'). (2认同)

Dr *_*ard 1

回答您的具体问题:

“如何将“max( value )”方法与标签属性一起使用”

<input id="mytext" name="mytext" max="2"/>
Run Code Online (Sandbox Code Playgroud)

“如何将“max( value )”方法与... CSS 类一起使用”

您不能这样做,请使用其他方法之一来设置规则。