• thinkphp验证功能(部分)


    一.静态验证

      1.前端代码:常规 <form> 提交表单  代码:略

      2.后台模板代码

      

    <?php
    namespace HomeModel;
    use ThinkModel;
    class userModel extends Model{
    	protected $_validate = array(
    		array("uid","require","用户名不能为空"),
    		array("pwd1","require","密码不能为空"),
    		array("pwd2","pwd1","两次输入的密码不一致",0,"confirm"),
    		array("age","18,50","年龄不在范围内",0,"between"),
    		array("email","email","邮箱格式不正确"),
    	);
    }
    

     3.后台控制器代码

    <?php
    namespace HomeController;
    use ThinkController;
    class IndexController extends Controller {
      
    	public function yanzheng(){
    		$u = M("User");
    		if(empty($_POST)){
    			$this->show();
    		}else{
    			if($u->create()){//验证
    				echo"验证通过";
    			}else{
    				echo $u->getError();//获取错误信息
    			}
    		}
    	}
    }


    二.动态验证
      1.前端代码:
      
    <body>
    
    <form action="__ACTION__" method="post">
    	<input type="text" name="Uid" id="uid" /><span id="ts"></span>
    	<input type="submit" value="验证" />
    </form>
    </body>
    </html>
    <script type="text/javascript">
    	$("#uid").blur(function(){
    		var uid = $(this).val();
    		$.ajax({
    			url:"__ACTION__",
    			data:{Uid:uid},	//此处与静态验证不同,区分大小写
    			type:"POST",
    			dataType:"TEXT",
    			success: function(data){
    				alert(data);
    				if(data.trim()=="OK"){
    					$("#ts").html("通过");
    				}else{
    					$("#ts").html("用户名不能为空");
    				}
    				
    			}
    		})
    	})
    </script>
    

       2.后台模板代码

      

    <?php
    namespace HomeController;
    use ThinkController;
    class IndexController extends Controller {
        public function yz(){
            $u = D("User");
            if(empty($_POST)){
                $this->show();
            }else{
                $rules = array("Uid","require","用户名不能为空");
                
                if($u->validata($rules)->create()){
                    $this->ajaxReturn("OK","eval");
                }else{
                    $this->ajaxReturn("NO","eval");
                }
            
            }
        }
    }

     //静态验证 1.方便:user表可直接用来进行验证.
    //          2.死板:写死的内容,一般不去更改,改也麻烦
    //         3.验证写在模板文件下,都是数组方式书写:详见手册
    //         4.写验证规则须创建子类(父类无需验证规则) D("user");
    //         5.静态验证:不论数据库是否由此字段,都可以验证
    //         动态验证:必须数据库存在的字段才可验证
    //         6.D("user"); 写动态验证是造子类对象,必须注释模板内的验证代码,验证规则写在控制器内
           M("user");

    验证方法二择其一,不能混合使用


  • 相关阅读:
    使用JAVA API 解析ORC File
    spark Graph 的PregelAPI 理解和使用
    流程图引擎
    JMX
    Spring走向注解驱动编程
    java@ 注解原理与使用
    Maven打包SpringBoot
    Java根据实体快速生成对象
    VBA基础出发
    “嗝嗝老师”
  • 原文地址:https://www.cnblogs.com/zhangbaobao/p/7205089.html
Copyright © 2020-2023  润新知