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");
    }
  • 相关阅读:
    Docker容器启动时初始化Mysql数据库
    使用Buildpacks高效构建Docker镜像
    Mybatis 强大的结果集映射器resultMap
    Java 集合排序策略接口 Comparator
    Spring MVC 函数式编程进阶
    换一种方式编写 Spring MVC 接口
    【asp.net core 系列】6 实战之 一个项目的完整结构
    【asp.net core 系列】5 布局页和静态资源
    【asp.net core 系列】4. 更高更强的路由
    【Java Spring Cloud 实战之路】- 使用Nacos和网关中心的创建
  • 原文地址:https://www.cnblogs.com/yy01/p/5726450.html
Copyright © 2011-2022 走看看