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");
    }
  • 相关阅读:
    oracle数据库卸数及ddl导出
    服务器重新启动,ftp重新连接问题
    服务器重新启动,oracle数据库重新连接问题
    JQ中mouseover和mouseenter的区别
    JQ中 trigger()和triggerHandler()区别
    jquery parent和parents的区别
    javascript坐标:event.x、event.clientX、event.offsetX、event.screenX 用法
    echart.js的使用与API
    HtmlDocument
    触摸事件+手势事件
  • 原文地址:https://www.cnblogs.com/yy01/p/5726450.html
Copyright © 2011-2022 走看看