zoukankan      html  css  js  c++  java
  • PHP TP表单验证

    静态方式:在模型类里面通过$_validate属性定义验证规则。

    InfoModel.class.php

    <?php
    namespace HomeModel;
    use ThinkModel;
    class InfoModel extends Model
    {
        protected $_validate=array(
            //array(验证的字段,验证规则,错误提示,[验证条件,附加规则,验证时间])
        
            //非空验证  regex
            array("Code","require","代号不能为空",0,"regex",3),
            //验证字段是否唯一  unique
            array("Name","","姓名不能重复",0,"unique",3),
            //验证两次输入是否一致  confirm
            array("Queren","Sex","两次输入不一致",0,"confirm",3),
            //验证输入的内容是否与正则的定义的值一致  equal
            array("Queren","123","输入的内容不正确",0,"equal",3),
            //范围验证  between
            array("Queren","18,30","输入年龄要在18~30岁之间",0,"between",3),
            //邮箱  email
            array("Queren","email","邮箱格式输入有误",0,"regex",3),
        );
    }
    function test()
    {
        $model=D("Info");    
        $model->create();
                
        if(!$model->create())
        {
        echo $model->getError();
        }
        else
        {
        $bs=$model->add();
        //跳转页面
        //1.成功后跳转:success("提示的话","跳转的操作方法",等待的时长)
        //2.失败后跳转:error("提示的话","默认跳回上一个页面")
        if($bs)
        {
            $this->success("添加成功","test");
        }
        else
        {
            $this->error("添加失败");
        }
       }
    }

    动态方式:使用模型类的validate方法动态创建自动验证规则。

    function test()
    {
        $model=D("Info");    
        $model->create();
                
        $rules=array(
        array("Code","require","代号不能为空",0,"regex",3),
            );
                
        if(!$model->validate($rules)->create())
        {
        echo $model->getError();
        }
        else
        {
        $bs=$model->add();
        //跳转页面
        //1.成功后跳转:success("提示的话","跳转的操作方法",等待的时长)
        //2.失败后跳转:error("提示的话","默认跳回上一个页面")
        if($bs)
        {
            $this->success("添加成功","test");
        }
        else
        {
            $this->error("添加失败");
        }
        }
    }

     ajax

     test.html

    <load href="__PUBLIC__/Js/jquery-1.11.2.min.js" />
    <body> <input id="code" type="text" name="code" /> <input id="btn" type="button" value="查看姓名" /> </body> </html> <script type="text/javascript"> $(document).ready(function(e) { $("#btn").click(function(){ var code=$("#code").val(); $.ajax({ url:"ChuLi", data:{code:code}, type:"POST", dataType:"TEXT", success: function(data){ alert(data); } }) }); });
    </script>
    function ChuLi()
    {
        $code=$_POST["code"];
        $model=D("Info");
        $aname=$model->find($code);
        $name=$aname["name"];
        //返回到ajax,$this->ajaxReturn(返回的值,返回的值的类型);
        $this->ajaxReturn($name,"eval");
    }

     

    test.html

    <load href="__PUBLIC__/Js/jquery-1.11.2.min.js" />
    <body>
    <form action="__ACTION__" method="post">
        <div>代号:<input id="dh" type="text" name="Code" /></div>
        <span id='dhyz'></span>
        <div>姓名:<input type="text" name="Name" /></div>
        <div>性别:<input type="text" name="Sex" /></div>
        <div>确认:<input type="text" name="Queren" /></div>
        <div>民族:<input type="text" name="Nation" /></div>
        <div>生日:<input type="text" name="Birthday" /></div>
        <div><input type="submit" value="提交" /></div>
    </form>
    </body>
    <script type="text/javascript">
    $(document).ready(function(e) {
    $("#dh").blur(function(){
            
            var code=$(this).val();
                $.ajax({
                url:"YanZheng",
                data:{Code:code},
                type:"POST",
                dataType:"TEXT",
                success: function(data){
                        if(data.trim()=="OK")
                        {
                            $("#dhyz").html("验证通过");
                            $("#dhyz").css("color","green");
                        }
                        else
                        {
                            $("#dhyz").html(data);
                            $("#dhyz").css("color","red");
                        }
                    }
                })
            })
    });
    
    </script>
    function YanZheng()
    {
        $model=D("Info");
        $str="";
        $rules=array(
        array("Code","require","代号不能为空",0,"regex",3),
        );
        if(!$model->validate($rules)->create())
        {
            $str=$model->getError();
        }
        else
        {
            $str="OK";    
        }
        $this->ajaxReturn($str,"eval");
    }
  • 相关阅读:
    POJ 3672 水题......
    POJ 3279 枚举?
    STL
    241. Different Ways to Add Parentheses
    282. Expression Add Operators
    169. Majority Element
    Weekly Contest 121
    927. Three Equal Parts
    910. Smallest Range II
    921. Minimum Add to Make Parentheses Valid
  • 原文地址:https://www.cnblogs.com/yy01/p/5726450.html
Copyright © 2011-2022 走看看