具体一下dome在官方中文手册中有:http://www.w3cschool.cc/jquery/jquery-plugin-validate.html
下面是个人用到的案例
<script type="text/javascript" src="/dealer/js/validate/jquery.validate.min.js"></script>
<script type="text/javascript" src="/dealer/js/validate/messages_zh.js"></script>
<style>
#tab li{float:left; margin-left:20px;list-style-type:none; margin-top:-10px;}
span.error{color:red; background: url("dealer/images/lg_p8.gif") no-repeat scroll -5px -3px rgba(0, 0, 0, 0);
padding-left: 16px;}
</style>
<?php $form=$this->beginWidget('CActiveForm',array(
'id' => 'tab',
));?>
<p>新名字:<input type="text" name="name" placeholder="8个字符,中文等于2个字符"></p>
<p>旧密码:<input type="text" name="pwd" placeholder="请填原密码"></p>
<p style="color:red">这里ajax去查表检验旧密码是否填写正确</p>
<p>新密码:<input type="text" id="newPwd1" name="newPwd1" placeholder="请填写密码"></p>
<p>重复新密码:<input type="text" name="newPwd2" placeholder="两次密码一致"></p>
性别:
<ul class="li_select">
<li><input type="radio" class="check_sex" name="sex[]" value="1">男</li>
<li><input type="radio" class="check_sex" name="sex[]" value="2">女</li>
<li><input type="radio" class="check_sex" name="sex[]" value="0">保密</li>
</ul>
<a style="color:red">是否触发验证性别</a><span id="check_sex" style="cursor:pointer;background-color:blue;color:yellow;">触发验证</span><br/>
爱好:
<ul>
<li><input type="checkbox" name="like[]" value="1">足球</li>
<li><input type="checkbox" name="like[]" value="2">篮球</li>
<li><input type="checkbox" name="like[]" value="3">排球</li>
<li><input type="checkbox" name="like[]" value="4">棒球</li>
</ul>
<div>
<button class="btn btn-primary">Update</button>
</div>
<?php $this->endWidget();?>
<script>
$(function(){
$('#check_sex').click(function(){
$('.check_sex').rules('add',{required:true});
})
//表单validata验证
$("#tab").validate({
/* 设置校验规则 */
rules: {
'name':{required : true,check_num: [8]},
'pwd' :{required : true,
remote:{
url : "<?= Yii::app()->createUrl('user/dealerInfo/checkPwd');?>", //后台处理程序
dataType: "json", //接受数据格式,必须发挥json格式
type: "get", //数据发送方式
data: {
pwd: function(){ //返回的数据格式必须是json格式,而且只能是true和false
return $("input[name=pwd]").val(); //这种写法才能得到编写后的值
}}
}
},
'newPwd1':{required : true},
'newPwd2':{equalTo:'#newPwd1'}
},
/* 设置错误信息 */
messages: {
'name': {
required : ' 不能为空',
check_num: ' 请勿超出8个字符限制',
},
'pwd':{
required: ' 不能为空',
remote : ' 原密码不正确',
},
'newPwd1':{
required: ' 不能为空',
},
'newPwd2':{
equalTo : ' 两次密码不一致',
},
'sex[]':{
required: ' 不能为空',
}
},
errorElement:"span", //设置显示错误用span标签,默认是label,这里注意用双引号
errorPlacement: function(error, element) {
if(element.parents().hasClass("li_select")){
error.appendTo(element.parents('.li_select')); //设置radio的错误提示
}else{
error.appendTo(element.parent());
}
},
// ignore:'', //隐藏input标签验证
// onfocusout: false, //编写时离开不触发
// onsubmit: true, //提交时触发
})
//添加检验中英文内容个数函数,中文等于2个字符的检验
$.validator.addMethod("check_num", function(value, element ,param){
var replace_value = value.replace(/[^\x00-\xff]/g, "xx").length;
if(replace_value <= param[0])
return true;
},'请勿超出字数限制');
//电话验证规则,参数传param[参数1,参数2],传参数1验证座机,参数2验证手机
$.validator.addMethod("phone", function (value, element ,param) {
var phone1 = /^0\d{2}-\d{7,8}$/;
var phone2 = /^1(([358]{1}[0-9]{1})|(47|70|76|77|78))[0-9]{8}$/;
return (param[0]==1 && (this.optional(element) || (phone1.test(value)))) || (param[1]==1 && (this.optional(element) || (phone2.test(value))));
}, "请输入正确格式");
})
</script>