http://www.runoob.com/jquery/jquery-plugin-validate.htmljavascript
连接中已经包含了大部分的使用规则,这里记录下一些常见的用法html
1.提示变红java
<style> .error { color: red; } </style>
2.自定义提示位置jquery
默认的错误信息提示是在根据name选定的元素的后面添加,因此在这里自定义位置的时候只要在想要的位置上添加便可,此时在script中不须要添加校验规则。ajax
<div class="form-group opt"> <label for="sex1" class="col-sm-2 control-label">性别</label> <div class="col-sm-6"> <label class="radio-inline"> <input type="radio" name="sex" id="sex1" value="male" checked="checked"> 男 </label> <label class="radio-inline"> <input type="radio" name="sex" id="sex2" value="female"> 女 </label> <label class="error" for="sex" style="display: none">您没有第三种选择</label> </div> </div>
3.自定义校验规则(以用户名是否存在的校验位例)json
$.validator.addMethod( //规则名称 "checkUsername", //校验的函数 function (value, element, params) { //value: 输入的内容 //element:被校验的元素对象 //params:规则对应的参数值 //mark一下 var flag = true; //ajax校验 $.ajax({ url: "${pageContext.request.contextPath}/checkUsername", async: false, data: {"username": value}, type: "POST", dataType: "json", success: function (data) { flag = !data.isExist; } }); return flag; } );
$(function () { $("#registerForm").validate({ rules: { "username": { "checkUsername": true } }, messages: { "username": { "checkUsername": "用户名已经存在" } } }); });
值得注意的一点是: async: 必定要设置为false,不然,ajax函数对于flag是没有意义的,由于回调函数做为入参的话,异步提交的方式会直接返回flag以后,再进行ajax函数调用,当设置为非异步,会等回调函数执行完毕在进行flag的返回。异步