标签:
常用的验证:
<?php namespace Home\Model; use Think\Model; class NationModel extends Model{ /*protected $_validate=array( //静态验证--写死的 array("code","require","代号不能为空",0,"regex",3), array("name","","姓名不能重复",0,"unique",3), //array("name","nation","两次输入的内容不一致",0,"confirm",3), //array("nation","123","输入的内容不正确","0","equal",3) //array("nation","18,50","输入的年龄要在18-50之间",0,"between",3) array("nation","email","输入的邮箱格式不正确",0,"regex",3) );*/ }
静态验证(在模型里写死的,直接用):
动态验证(比较灵活,哪里用到哪里写):
//写出规则
$rules=array( array("code","require","代号不能为空",0,"regex",3))
//调用验证
if(!$m->validate($rules)->create()) { //验证失败 echo $m->getError(); } else { //验证通过 echo "验证通过"; }
实例:
要求:实现类似注册失去焦点时,验证用户名功能
静态页面:
<body> <form action="__ACTION__" method="post"> 代号:<input id="dh" type="text" name="code" /> <span id="cc"></span> <br /> 姓名:<input type="text" name="name" /><br /> 民族:<input type="text" name="nation" /><br /> 性别:<input type="text" name="sex" /><br /> <input type="submit" value="注册" /> </form> <!--点击代号查询姓名--> <input type="text" id="a"/> <input type="button" id="b" value="查询"/> </body> </html> <script type="text/javascript"> $(document).ready(function(e) { $("#b").click(function(){ var code=$("#a").val(); $.ajax({ url:"__CONTROLLER__/aa", data:{code:code}, type:"POST", dataType:"TEXT", success: function(data){ alert(data); } }) }) //动态验证 $("#dh").blur(function(){ var code=$(this).val(); $.ajax({ url:"__CONTROLLER__/bb", data:{code:code}, type:"POST", dataType:"TEXT", success: function(data){ if(data.trim() == "输入正确") { $("#cc").html(data); $("#cc").css("color","#0F0"); } else { $("#cc").html(data); $("#cc").css("color","#F00"); } } }) }) }); </script>
控制器:
function bb(){ //实现验证功能 $m=D("nation"); $rules=array(array("code","require","代号不能为空",0,"regex",3)); if(!$m->validate($rules)->create()) { //验证失败 $str=$m->getError(); $this->ajaxReturn($str,"eval"); } else { $str="输入正确"; $this->ajaxReturn($str,"eval"); } }
标签:
原文地址:http://www.cnblogs.com/jinshui/p/5730155.html