在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

thinkphp注册验证的更多相关文章

  1. thinkphp 注册验证

    遇到用户注册等情况时,如果等用户输入所有信息,点击注册按钮提交后,再验证输入是否正确,体验很不好,而且很浪费用户的时间,增加注册成本,这里提供一个例子,演示了怎么使用ajax进行单步验证,使用thin ...

  2. thinkphp+jquery+ajax前后端交互注册验证

    thinkphp+jquery+ajax前后端交互注册验证,界面如下 register.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. ...

  3. ThinkPHP 自动验证实例

    //array(验证字段1,验证规则,错误提示,[验证条件,附加规则,验证时间]),protected $_validate = array( ); ThinkPHP 自动验证定义的附加规则如下: r ...

  4. MVC中使用WebMail 发送注册验证信息

    在MVC中发送Email 可以使用WebMail :使用起来十分简单.如下: WebMail.SmtpServer = ConfigurationHelper.GetValue("SmtpS ...

  5. Ajax注册验证用户名是否存在 ——引自百度经验

    Ajax注册验证用户名是否存在 http://jingyan.baidu.com/article/a948d6515fdf870a2dcd2e85.html

  6. ThinkPHP 自动验证与自动填充无效可能的原因(转)

    自动验证与自动填充是在使用ThinkPHP时经常用到的功能,但偶尔会遇到自动验证与自动填充无效的情况,本文就ThinkPHP 自动验证与自动填充无效可能的原因做一些分析. create() Think ...

  7. <转>thinkphp自动验证无效的问题

    新手入门thinkphp,试用自动验证表单输入数据功能,却发现怎么都不能调用自动验证,自动验证无效,原因竟是一个小细节的疏忽,学习一定要细心啊! Action方法: IndexAction下的adds ...

  8. PHP+Ajax 异步通讯注册验证

    HTML代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www. ...

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

    //注册验证$('form :input').blur(function () { if ($("#txtName").val() == "") { $(&qu ...

随机推荐

  1. Centos7系统初始化脚本

    前言: 因公司业务增加,陆续新增服务器,时不时的来几台,手动地一台台对服务器初始化操作感觉太麻烦. 于是乎,根据初始化需求整合了一个初始化脚本,实现批量脚本初始化操作. 说明: 本脚本根据自身需求编写 ...

  2. C#中使用Application.AddMessageFilter(this)要手动释放

    如题,要使用Application.RemoveMessageFilter(this);释放,如果不释放会造成很严重的内存泄漏.

  3. MyBatis下MySqL用户口令不能为空

    jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3308/testjdbc.username=testjdbc.pas ...

  4. JavaSE回顾及巩固的自学之路(四)——————方法和数组,面向对象

    今天是2018.03.31,emmmmmm.好像距离上一次写Javase回顾总结已经好久好久过去,差一点就以为要停更了,哈哈哈.        其实呢,最近是真的好忙(额,这段时间觉得自己一直在学习) ...

  5. 二、主目录 Makefile 分析(3)

    2.8 编译选项 重新回到 主 makefile 中执行 2.8.1 u-boot  的编译顺序 代码166 到 189 行,这些是 u-boot 文件编译的顺序,由代码可以看到,首先是从cpu/$( ...

  6. Linux - DDOS检测

    netstat  netstat -na #显示所有连接到服务器的活跃的网络连接 netstat -an | grep : | sort # 只显示连接到80段口的活跃的网络连接,80是http端口, ...

  7. POJ1236 Network of Schools【强连通】

    题意: N(2<N<100)各学校之间有单向的网络,每个学校得到一套软件后,可以通过单向网络向周边的学校传输,问题1:初始至少需要向多少个学校发放软件,使得网络内所有的学校最终都能得到软件 ...

  8. Pyqt5自定义浏览器

    from PyQt5.QtWebChannel import QWebChannel from PyQt5.QtWebEngineWidgets import QWebEngineView from ...

  9. 转载 int和string 类型的互换

    https://blog.csdn.net/u012421436/article/details/51386690 不论是在什么语言下编程(除C,因为C是没有string类型的),int与string ...

  10. jQuery中【width(),innerWidth(),outerWidth()】

    这个问题,已经别扭我多年了,今天终于彻底解决了,拿出来庆贺一下.jquery作为开源项目,无论从思路上,还是从严谨性上,让人崇敬. 随着时间的流逝,jquery的一些功能被逐渐挖掘出来.通过jQuer ...