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
thinkphp注册验证的更多相关文章
- thinkphp 注册验证
遇到用户注册等情况时,如果等用户输入所有信息,点击注册按钮提交后,再验证输入是否正确,体验很不好,而且很浪费用户的时间,增加注册成本,这里提供一个例子,演示了怎么使用ajax进行单步验证,使用thin ...
- thinkphp+jquery+ajax前后端交互注册验证
thinkphp+jquery+ajax前后端交互注册验证,界面如下 register.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. ...
- ThinkPHP 自动验证实例
//array(验证字段1,验证规则,错误提示,[验证条件,附加规则,验证时间]),protected $_validate = array( ); ThinkPHP 自动验证定义的附加规则如下: r ...
- MVC中使用WebMail 发送注册验证信息
在MVC中发送Email 可以使用WebMail :使用起来十分简单.如下: WebMail.SmtpServer = ConfigurationHelper.GetValue("SmtpS ...
- Ajax注册验证用户名是否存在 ——引自百度经验
Ajax注册验证用户名是否存在 http://jingyan.baidu.com/article/a948d6515fdf870a2dcd2e85.html
- ThinkPHP 自动验证与自动填充无效可能的原因(转)
自动验证与自动填充是在使用ThinkPHP时经常用到的功能,但偶尔会遇到自动验证与自动填充无效的情况,本文就ThinkPHP 自动验证与自动填充无效可能的原因做一些分析. create() Think ...
- <转>thinkphp自动验证无效的问题
新手入门thinkphp,试用自动验证表单输入数据功能,却发现怎么都不能调用自动验证,自动验证无效,原因竟是一个小细节的疏忽,学习一定要细心啊! Action方法: IndexAction下的adds ...
- PHP+Ajax 异步通讯注册验证
HTML代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www. ...
- jQuery失去焦点的时候注册验证
//注册验证$('form :input').blur(function () { if ($("#txtName").val() == "") { $(&qu ...
随机推荐
- HostAliases向Pod中添加hosts解析
前言 根据公司同一个项目需要不同的de/te/pe环境,由于相应环境调用的数据库等配置信息存在不同等因素,需要向Kubernetes集群中的Pod添加对应的hosts解析. 解决 以下以yaml文件自 ...
- VUE2.0 饿了吗视频学习笔记(三):VUE2.0取消了v-link
https://gitee.com/1981633/vue_study.git 源码下载地址,随笔记动态更新中 写法如下 <div class="tab-item"> ...
- python读取Excel文件。
#!/usr/bin/python # -*- coding: utf-8 -*- from bs4 import BeautifulSoup import urllib.request import ...
- Javaweb学习笔记——(六)——————xml中jaxp两种解析方式和dom4j运用
1.xml的scheam约束 dtd的语法:<!ElEMENT 元素名称 约束> **schema符合xml的语法,xml语句 **一个xml中可以有多个schema,多个schema使用 ...
- Linux - 账户切换授权
sudo 切换账户 echo myPassword | sudo -S ls /tmp # 直接输入sudo的密码非交互,从标准输入读取密码而不是终端设备 visudo # sudo命令权限添加 /e ...
- Elastic Job入门(1) - 简介
介绍 构建一般的业务系统来说,使用Quartz或者Spring Task即可基本满足我们的单体服用应用需要.然而随着线上业务量的不断发展,这两种定时任务已经日渐无法满足我们的需求.一般,使用这两种定时 ...
- drozer工具的安装与使用:之一安装篇
本教程针对于Windows平台下drozer的安装与使用 使用该工具需要JDK的支持,所以使用此工具之前请自行安装 JDK(如有问题的请自行百度其他教程,这里就不赘述了) 还需要安卓调试工具a ...
- 根据href给当前导航添加样式
var href = window.location.href.split('/')[window.location.href.split('/').length-1].substr(0,20); i ...
- 简单透彻理解JSONP原理及使用
首先提一下JSON这个概念,JSON是一种轻量级的数据传输格式,被广泛应用于当前Web应用中.JSON格式数据的编码和解析基本在所有主流语言中都被实现,所以现在大部分前后端分离的架构都以JSON格式进 ...
- android摄像头(camera)之 v4l2的c测试代码【转】
转自:https://blog.csdn.net/ldswfun/article/details/8745577 在移植android hal的过程中,移植的首要任务是要确保驱动完好,camera是属 ...