$(function(){ //jq写法 不解释
$('选中form节点').validate({
rules:{
'表单名':{
'验证规则':对应的验证规则填写的值
}
},
messages:{
'表单名(ps:和上面一样)':{
'验证规则':对应的验证错误时出现的错误提示(ps:如我提供的第一张图,显示用户名已存在的那个错误提示一样)
}
}
});
});好了规则就是这样了。来实战操作一下吧。比如现在有一个username的表单,就一个不做别的就简单验证一些,我们要求的规则是用户名长度是3-17位,必须验证.还有假设表单的id是register$(function(){
$('#register').validate({//先用jq的选择器选择到form表单
rules:{
'username':{
required:true,//这个规则就是必须验证,也就是必须填写的意思~
rangelength:[3,17]//这个意思就是用户名长度是3-17位之间,这里主要的一点就是汉子是算一个字节的,不是像我们utf-8的一个汉字算3个字节那样的。主意哦~~
}
},
messages{
username:{
required:'用户名必须填写'//当用户名没有填写的时候提示的错误信息
rangelength:'用户名长度应在3-17位之间'
}
}
})
})是不是感觉很实用,很简单的代码就能实线想要的效果!当然这只是一个简单的一个规则,还有更加复杂的比如验证用户名的时候 必须是字母开头 不允许汉字等等,这个就需要正则了吧,不过,哈哈 我正则不会~~不过我会继续学习的,我也是一个自学ThinkPHP的一员,$(function(){
$('#register').validate({
errorElement:'span',
success:function(label){
label.addClass('success');
},
rules:{
'username':{
required:true,
rangelength:[3,17],
remote:{
url:checkUsername,
type:'post',
datatype:'json',
data:{
username:function(){
return $('#username').val();
}
}
}
},
'password':{
required:true,
rangelength:[6,17]
},
'rpassword':{
required:true,
equalTo:'#password'
},
'email':{
required:true,
email:true
},
'sex':{
required:true
},
'birthday':{
required:true,
date:true
},
'address':{
required:true
},
'old':{
required:true,
digits: true,
rangelength:[1,3]
},
'tel':{
required:true,
digits: true,
rangelength:[0,11]
}
},
messages:{
'username':{
required:'用户名必须填写',
rangelength:'用户名长度应在3-17位之间',
remote:'用户名已存在'
},
'password':{
required:'密码必须填写',
rangelength:'密码必须在6-17位之间'
},
'rpassword':{
required:'确认密码必须填写',
equalTo:'两次密码不一致'
},
'email':{
required:'邮箱必须填写',
email:'邮箱格式不正确'
},
'sex':{
required:'请选择性别'
},
'birthday':{
required:true
},
'address':{
required:'请填写地址',
date:'日期格式不正确'
},
'old':{
required:'请填写年龄',
digits: '您输入的不是数字',
rangelength:'您输入的年龄不符合格式(ps:吓死我了)'
},
'tel':{
required:'请填写电话号码',
digits: '您输入的不是数字',
rangelength:'请输入正确格式的电话号码(ps:需要11位)'
}
}
});
});其他的我们不说,就来说说remote,这个验证方法。//验证用户名是否存在
public function checkUsername(){
if(!$this->isAjax()) halt('页面不存在');//最好做个判断,
$where = array(
'menbername'=>I('username'),
);
if(M('menber')->where($where)->find()){
echo 'false';//切记这是重点
}else{
echo 'true';
}
}当存在我们是要返回字符串格式的false过去,一定要记住啊~不然你会调试代码很惨的。就像我以前第一次写一样,尼玛 一直发现没哪里有问题,一直调试,心情比大姨妈来了还沉重!附件 jquery-validate.zip ( 200.41 KB 下载:235 次 )
ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。