jQuery技术

jQuery Validate(其实JQuery的详细教程也在这了)(2)

字号+ 作者:H5之家 来源:H5之家 2017-02-17 18:03 我要评论( )

在使用 equalTo 关键字时,后面的内容必须加上引号,代码如下所示: class={required:true,minlength:5,equalTo:'#password'} 2、将校验规则写到 js 代码中 $().ready(function() { $(#signupForm).validate({rules

在使用 equalTo 关键字时,后面的内容必须加上引号,代码如下所示:

class="{required:true,minlength:5,equalTo:'#password'}" 2、将校验规则写到 js 代码中 $().ready(function() { $("#signupForm").validate({ rules: { firstname: "required", email: { required: true, email: true }, password: { required: true, minlength: 5 }, confirm_password: { required: true, minlength: 5, equalTo: "#password" } }, messages: { firstname: "请输入姓名", email: { required: "请输入Email地址", email: "请输入正确的email地址" }, password: { required: "请输入密码", minlength: jQuery.format("密码不能小于{0}个字 符") }, confirm_password: { required: "请输入确认密码", minlength: "确认密码不能小于5个字符", equalTo: "两次输入密码不一致不一致" } } }); });

messages 处,如果某个控件没有 message,将调用默认的信息

<form id="signupForm" method="get" action=""> <p> <label for="firstname">Firstname</label> <input id="firstname" name="firstname" /> </p> <p> <label for="email">E-Mail</label> <input id="email" name="email" /> </p> <p> <label for="password">Password</label> <input id="password" name="password" type="password" /> </p> <p> <label for="confirm_password">确认密码</label> <input id="confirm_password" name="confirm_password" type="password" /> </p> <p> <input class="submit" type="submit" value="Submit"/> </p> </form>

required:true 必须有值。

required:"#aa:checked" 表达式的值为真,则需要验证。

required:function(){} 返回为真,表示需要验证。

后边两种常用于,表单中需要同时填或不填的元素。

常用方法及注意问题 1、用其他方式替代默认的 SUBMIT $().ready(function() { $("#signupForm").validate({ submitHandler:function(form){ alert("submitted"); form.submit(); } }); });

使用 ajax 方式

$(".selector").validate({ submitHandler: function(form) { $(form).ajaxSubmit(); } })

可以设置 validate 的默认值,写法如下:

$.validator.setDefaults({ submitHandler: function(form) { alert("submitted!");form.submit(); } });

如果想提交表单, 需要使用 form.submit(),而不要使用 $(form).submit()。

2、debug,只验证不提交表单

如果这个参数为true,那么表单不会提交,只进行检查,调试时十分方便。

$().ready(function() { $("#signupForm").validate({ debug:true }); });

如果一个页面中有多个表单都想设置成为 debug,则使用:

$.validator.setDefaults({ debug: true }) 3、ignore:忽略某些元素不验证 ignore: ".ignore" 4、更改错误信息显示的位置 errorPlacement:Callback

指明错误放置的位置,默认情况是:error.appendTo(element.parent());即把错误信息放在验证的元素后面。

errorPlacement: function(error, element) { error.appendTo(element.parent()); }

实例

<tr> <td class="label"><label id="lfirstname" for="firstname">First Name</label></td> <td class="field"><input id="firstname" name="firstname" type="text" value="" maxlength="100" /></td> <td class="status"></td> </tr> <tr> <td style="padding-right: 5px;"> <input id="dateformat_eu" name="dateformat" type="radio" value="0" /> <label id="ldateformat_eu" for="dateformat_eu">14/02/07</label> </td> <td style="padding-left: 5px;"> <input id="dateformat_am" name="dateformat" type="radio" value="1" /> <label id="ldateformat_am" for="dateformat_am">02/14/07</label> </td> <td></td> </tr> <tr> <td class="label"> </td> <td class="field" colspan="2"> <div id="termswrap"> <input id="terms" type="checkbox" name="terms" /> <label id="lterms" for="terms">I have read and accept the Terms of Use.</label> </div> </td> </tr> errorPlacement: function(error, element) { if ( element.is(":radio") ) error.appendTo( element.parent().next().next() ); else if ( element.is(":checkbox") ) error.appendTo ( element.next() ); else error.appendTo( element.parent().next() ); }

代码的作用是:一般情况下把错误信息显示在 <td class="status"></td> 中,如果是 radio 则显示在 <td></td> 中,如果是 checkbox 则显示在内容的后面。

参数 类型 描述 默认值

errorClass String 指定错误提示的 css 类名,可以自定义错误提示的样式。 "error"

errorElement String 用什么标签标记错误,默认是 label,可以改成 em。 "label"

errorContainer Selector 显示或者隐藏验证信息,可以自动实现有错误信息出现时把容器属性变为显示,无错误时隐藏,用处不大。 errorContainer: "#messageBox1, #messageBox2"

errorLabelContainer Selector 把错误信息统一放在一个容器里面。

wrapper String 用什么标签再把上边的 errorELement 包起来。

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • jQuery Selector选择器小结

    jQuery Selector选择器小结

    2017-02-18 10:12

  • nodejs HTML分析利器node

    nodejs HTML分析利器node

    2017-02-17 17:03

  • jQuery.Deferred对象

    jQuery.Deferred对象

    2017-02-17 13:01

  • 《jQuery实战(第三版)》(Bear Bibeault)【摘要

    《jQuery实战(第三版)》(Bear Bibeault)【摘要

    2017-02-17 13:00

网友点评