thinkphp注册验证

在model中新建一个UserModel

    //覆盖原本的设置
    //一次性获得全部验证错误
    protected $patchValidate    =   true;

    //实现表单项目验证
    //通过重写父类属性_validate实现表单验证
    protected $_validate        =   array(

        //验证字段1,验证规则,错误提示,[验证条件,附加规则,验证时间]),
        //验证用户名,require必须填写项目     //验证字段的名和表单传来的name需要一致
        array(‘username‘,‘require‘,‘用户名必须填写‘),
        array(‘password‘,‘require‘,‘密码必须填写‘),
        //可以为同一个项目设置多个验证
        array(‘password2‘,‘require‘,‘确认密码必须填写‘),
        //与密码的值得是一致的
        array(‘password2‘,‘password‘,‘两次密码不一致‘,0,‘confirm‘),
        //邮箱验证
        array(‘user_email‘,‘email‘,‘邮箱格式不正确‘,2),
        //验证qq
        //都是数字的、长度5-10位、 首位不为0
        //正则验证  /^[1-9]\d{4,9}$/
        array(‘user_qq‘,"/^[1-9]\d{4,9}$/",‘qq格式不正确‘),

        //电话正则/^1[34578]\d{9}$/
        array(‘user_tel‘,"/^1[34578]\d{9}$/",‘电话格式不正确‘),

    );

在UserController.class.php中

function register(){
        //因为有验证规则,所以需要用自定义的Model
        $user=new \Model\UserModel;
        if(!empty($_POST)){
            //集成表单验证
            if(!$user->create()){          $errorInfo=$user->getError();          $this->assign(‘errorInfo‘,$errorInfo);          $this->display();
            }else{
                $rst=$user->add();
                if($rst){
                    $this->success(‘注册成功‘,U(‘Index/index‘));
                    //echo "success";
                }else{
                     $this->success(‘注册失败‘,U(‘Index/index‘));
                }
            }
        }else{
            $this->display();
        }
    }

结果

关于这个验证的用法,请看thinkphp手册

http://document.thinkphp.cn/manual_3_2.html#auto_validate

时间: 2024-08-30 00:27:17

thinkphp注册验证的相关文章

thinkphp 注册验证

遇到用户注册等情况时,如果等用户输入所有信息,点击注册按钮提交后,再验证输入是否正确,体验很不好,而且很浪费用户的时间,增加注册成本,这里提供一个例子,演示了怎么使用ajax进行单步验证,使用thinkphp 3.2框架,环境WAMPServer 2.4,版本PHP 5.4.16+ Apache 2.4.4+ MySql 5.6.12 一.数据库设计: 数据库名 thinkphp 表名 tp_user 其中tp_是表前缀,可以在config.php中定义,操作表的时候只用user就行 ? 1 2

jquery注册验证的写法

在做注册页面时会用到jquery验证注册信息,用户名,密码,邮箱,手机号的验证,比较简单的,新手莫怪... <script> function Name(){ var name = $("#name").val(); if(name=="") { $("#tip1").html("<div style='color:#2ca9cc;font-size:14px;'>请输入用户名</div>"

js登录与注册验证

经常写js验证,感觉很麻烦,这次就把他整理贴出来,以后可以直接用了.具体介绍这里不罗嗦了,直接贴代码,相信大家都能理解代码的含义 登录验证: Jsp页面代码: <form action="userLogin.action" method="post" onsubmit="return login();" id="loginForm"> <h3>用户登录</h3> <br /> 用

JSP_tomcat_mysql_注册验证用户;

本文出自:http://blog.csdn.net/svitter 资源下载: github: git clone https://github.com/Svtter/JSP-tomcat-mysql 使用了servlet: web.xml: <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instanc

注册验证的时候一直出现的报错问题,终于解决了

今天再注册验证表单的时候一直报错,但是什么都没有改,就报错了,后面才知道原来是和我上次上传图片的时候,导入的2个js的顺序有关系的, 45行和41行互相换一下位置就好了

jQuery失去焦点的时候注册验证

//注册验证$('form :input').blur(function () { if ($("#txtName").val() == "") { $("#txtName").parent().next(".errorMsg").text("请输入注册名称"); return false; } else { $("#txtName").parent().next(".erro

ThinkPHP 自动验证与自动填充无效可能的原因

原文链接:http://www.5idev.com/p-thinkphp_validate_auto_Invalid.shtml 自动验证与自动填充是在使用ThinkPHP时经常用到的功能,但偶尔会遇到自动验证与自动填充无效的情况,本文就ThinkPHP 自动验证与自动填充无效可能的原因做一些分析. create() ThinkPHP 自动验证与自动填充是在创建数据对象 create() 时实现的,因此自动验证与自动填充无效很大程度上与 create() 有关. create 方法语法如下: c

struts2+json+jquery局部刷新实现注册验证

struts2+json+jquery局部刷新实现注册验证 1.项目需要导入的jar包 在web项目的WebRoot/WEB-INF/lib目录下导入以下包 2.在src目录下建立包com.entity,里面建立java类:UserInfo.java .  MailSenderInfo.java UserInfo.java package com.entity; import java.io.Serializable; /** * 说明:用户实体类 * @author wangcunhuazi

MVC注册验证:js方法(jQuery)

控制器端代码: using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace MvcApplication5注册验证.Models { public class ZhuceBF { private mydboDataContext _Context = new mydboDataContext(); public List<zhuce> Select() { retu