ThinkPHP学习笔记(十)在Model中完成自动验证前台的表单数据

ThinkPHP Model类自动验证功能解析 刚接触thinkphp,不知道model类的作用。Model类有三大自动特性: $_validate   :自动验证,当create()的时候,内部会去自动找这些自动验证方法。主要完成对输入内容的检验(是否与数据库中表结构相同,输入内容是否符合我们所期望的值) $_auto         :自动完成(主要完成参数的过滤和默认值的填充) $_map         :字段映射 详细 阅读详情

index.html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>
<form action="__URL__/add" method="post">
	<input type="text" name="username"/>
	<input type="text" name="password"/>
	<input type="text" name="repassword"/>
	<input type="submit" value="提交"/>
	<!--{__NOTOKEN__}-->
</form>

</body>
</html>


UserModel.class.php

<?php
	class UserModel extends Model{
		//参数:
		//1.验证字段(表单中的名称或者辅助字段例如验证码)
		//2.验证规则(结合附加规则一起使用)
		//3.错误提醒
		//4.验证条件(0:1:2:)最好是选择手册中的常量来填写
		//5.附加规则;验证方式:regex;function名;callback;confirm(验证两个字段是否相同);equal;in;unique;
//				常用规则:require:必须存在;email邮箱;url;currency货币;number;
		//6.验证时间
//				是指数据库进行数据库操作时的验证时机(增加数据时,编辑时,全部清空下验证)
//				Model::MODEL_INSERT
//				Model::MODEL_UPDATE
//				Model::MODEL_BOTH
		//自动验证开始
		protected $_validate=array(
			array('username','require','用户名必填',0,0,1),
			array('username','checklen','用户名长度不合法',0,'callback',3),
			array('password','require','用户名必填',0,0,1),
			array('repassword','require','用户名必填',0,0,1),
			array('password','repassword','密码不一致',0,'confirm',1),
//			array('createip','email','邮箱格式不对',0,'regex',1),
		);
		public function checklen($data){
			if (strlen($data)>15||strlen($data)<5)
				return FALSE;
			return true;
		}
		function modelTest(){
			echo '测试的跨模型操作,调用模型中的方法';
		}
	}
?>

AutoAction.class.php

<?php
/**
 * ThinkPHP中的
 * 自动验证(Action中create方法时生效)
 * 		主要写在自定义模型中,完成输入信息的时候对表单或者数据库中的字段进行验证
 * 自动完成
 * 		用户输入的字段并不是用户手动填写的
 * 字段映射
 * 		防止用户从前台看到的字段名称而猜出数据库表中的字段名称
 *
 */
class AutoAction extends Action{
	public function index(){
		$this->display();
	}
	function add(){
		//经过自定义模型
		$user=D('user');
		if ($user->create()) {
			if ($user->add()){
				$this->success("注册成功");
			}else{
				$this->error($user->getError());
			}
		}else{
			$this->error($user->getError());
		}
	}
}
?>


【ThinkPHP学习】模型Model的自定义 RT. ThinkPHP允许用户进行自定义Modellei 阅读详情

相关推荐

thinkphp5 model模型操作数据库

model的使用 1.定义 <?php namespace app\index\model; use think\Model; /** * 一般数据模型都是和表名一致 */ class User extends Model{ } 2.一般model的名字和表名是对应的,例如 表名 pre_user -> 模型名 User.php 表名 pre_user_info -&gt...

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 3876

thinkphp5 模型验证数据的几种方式

1、用use think\Loader; (1)引入命名空间 use think\Loader; (2)加载验证规则 $validate = Loader::validate(‘Admin’); (3)验证数据并返回结果 if(!$validate->check($data)) { return ['valid'=>0,'msg'=>$validate->getError()]; } 2、用use t

xinshouxuexi1的博客 828

Android开发者必看:F2FS文件系统如何优化你的手机存储性能(附实测数据对比)

本文深入解析了F2FS文件系统如何针对闪存特性优化Android设备存储性能。通过对比ext4,F2FS采用追加写和冷热数据分离策略,将随机写转化为顺序写,显著提升写入速度并减少GC卡顿。实测数据显示,其在随机写入和SQLite事务等场景下性能提升显著,为开发者提供了优化应用IO性能的关键思路。

weixin_29248313的博客 325

php model 验证,ThinkPHP模型常用验证规则

URL检查array('img_url','url','预览图片格式错误',self::MUST_VALIDATE,'regex',self::MODEL_BOTH),array('approval',array(0,1,2,3),'类型错误',self::MUST_VALIDATE,'in',self::MODEL_BOTH),中文检查array('username',"/^[\x{4e00}-...

weixin_39929793的博客 244

从零搭建PIC MCU开发环境:MPLAB IDE与HI-TECH编译器安装破解全攻略

本文详细介绍了从零搭建PIC MCU开发环境的完整流程,包括MPLAB IDE 8.85的安装配置、HI-TECH C编译器的安装与破解,以及PICkit3编程器的使用技巧。通过清晰的步骤说明和常见问题解决方案,帮助开发者快速搭建稳定的PIC单片机开发环境,适用于PIC16/18系列MCU开发。

weixin_29188997的博客 292

MIPI信号的分析--结合示波器实际测试波形

如果排查的思路对你有帮助,请记住 消雨匆匆 or 大吊工。码字和排查很累,仅此而已 ,硬件不是抄电路,拿烙铁,懂点软件,细致分析,找问题和破案搜集线索是一样的。 部分内容来自于此博客的大神总结: http://www.elecfans.com/news/wangluo/20170323499614.html http://www.elecfans.com/yuanqijian/jieko...

消雨匆匆 4万+

thinkphp的model三大自动功能

一、自动验证 格式如下: array('验证字段','验证规则','错误提示','验证条件','附加规则','验证时间') 参数说明: 验证字段:需要验证表单字段名称 验证规则:必须要结合附加规则一起使用 错误提示:如果出现错误,抛出一个什么样的错误提示告知用户 验证条件:0、1、2 附加规则:1、regex使用正则验证 2、function使用函数验证

爱代码也爱生活 2659

INS/伪距组合导航(2)

伪距惯导组合导航

u014430081的博客 828

ThinkPHP 自动创建数据、自动验证、自动完成详细例子介绍(十九)

ThinkPHP 自动创建数据、自动验证、自动完成详

乐杨俊浅谈LAMP 3431

OTG原理讲解

摘要:USB OTG(On-The-Go)是USB 2.0的重要功能,允许设备在主机和从机间动态切换,实现设备间的直接通信。其核心机制是通过ID引脚电平判断角色:Micro-USB中接地为Host,悬空为Device;USB-C则通过CC引脚协商。电路设计需处理ID引脚连接和VBUS电源控制,MCU根据ID状态配置USB控制器模式。典型应用包括手机连接U盘、键盘等外设,极大扩展了移动设备的连接能力。

m0_49476241的博客 3218

ThingsBoard教程(十九):规则节点概览介绍

在ThingsBoard的CE V2.5.6版本中,一共有这几种类型在每一种类都有包含了多个节点,每一种类型的节点都有不同的颜色表示本篇文章做一个简单的概括,后续的文章会详细讲解每一个种类的节点如何使用,每一个节点的使用。一共有10个,使用黄色表示 过滤器节点用于消息过滤和路由。一共有9个,使用绿色 属性节点用于更新传入消息的元数据。一共三个,使用蓝色 转换节点用于更改传入消息字段,如发起者、消息类型、有效负载和元数据。一共21个,使用红色标识 动作节点根据传入的消息执行各种动作。一共9个,使用黄色表示,

知无涯 1万+

php 自动验证表单类,thinkPHP实现表单自动验证

搜索热词昨天晚上我们老大叫我弄表单自动验证功能,愁了半天借鉴了好多官网的知识,才出来,诶,总之分享一下我自己的成果吧!thinkPHP 在Model基类为我们定义了自动验证的函数和正则表达式,我们只需要在对应的数据库表的模型类下建立$_validate属性就可以了。1、我们找到Model基类,可以看到 protected $_validate = array(); // 自动验证定,它是数组类型的...

weixin_35972981的博客 271

PCL点云库入门(第6讲)——PCL库中Eigen数学工具库的基本使用(持续更新)

Eigen库是一个高性能的C++模板库,专注于线性代数、矩阵和向量运算,以及相关的数值分析和算法。在Eigen库中,所有的矩阵和向量均被视为矩阵模板类的实例。向量可以被看作是特殊形式的矩阵,具体表现为只包含1行或1列。

qq_36812406的博客 1752

php自动验证,thinkPHP实现表单自动验证

昨天晚上我们老大叫我弄表单自动验证功能,愁了半天借鉴了好多官网的知识,才出来,诶,总之分享一下我自己的成果吧!thinkphp 在Model基类为我们定义了自动验证的函数和正则表达式,我们只需要在对应的数据库表的模型类下建立$_validate属性就可以了。1、我们找到Model基类,可以看到 protected $_validate = array(); // 自动验证定,它是数组...

weixin_39715348的博客 162

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

thinkPHP 表单自动验证功能

昨天晚上我们老大叫我弄表单自动验证功能,愁了半天借鉴了好多官网的知识,才出来,诶,总之分享一下我自己的成果吧! thinkphp 在Model基类为我们定义了自动验证的函数和正则表达式,我们只需要在对应的数据库表的模型类下建立$_validate属性就可以了。 1、我们找到Model基类,可以看到 protected $_validate = array(); /...

daxun4115的博客 140

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

php 自动验证表单类,thinkPHP 表单自动验证功能

昨天晚上我们老大叫我弄表单自动验证功能,愁了半天借鉴了好多官网的知识,才出来,诶,总之分享一下我自己的成果吧!thinkphp 在Model基类为我们定义了自动验证的函数和正则表达式,我们只需要在对应的数据库表的模型类下建立$_validate属性就可以了。1、我们找到Model基类,可以看到 protected $_validate = array(); // 自动验证定,它是数组...

weixin_35915828的博客 137

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

php表单自动验证,ThinkPHP表单自动提交验证实例教程

ThinkPHP表单自动提交验证实例教程文章主要介绍了ThinkPHP表单自动提交验证实例教程,非常有实用价值,需要的朋友可以参考下。本文以实例讲述了ThinkPHP表单自动提交验证的实现过程,详细步骤如下所示:一、模板部分:ThinkPHP示例:表单提交、自动验证和自动填充标题:邮箱:内容:验证码: 输入对应的数字 {$vo.title} [{$vo.email} {$vo.create_ti...

weixin_29706351的博客 238

php自动验证,ThinkPHP 自动验证及验证规则详解

ThinkPHP 自动验证ThinkPHP 内置了数据对象的自动验证功能来完成模型的业务规则验证。自动验证是基于数据对象的,而大多情况下数据对象是基于 $_POST表单 (不是绝对的)创建的。基本的自动验证功能包括:必须字段、email邮箱格式、唯一性、URL地址、数字、两个字段是否相同、是否等于某个值等。要使用系统的自动验证功能,只需要在对应的 Model类 里面定义 $_validate 属性...

weixin_33066433的博客 612

thinkphp 三大自动验证

2 // 如果没有传值默认取POST数据8 // 验证数据1314 // 检查字段映射1617 // 状态$type:(!1920 // 检测提交字段的合法性33 // 判断令牌验证字段4142 // 数据自动验证4445 // 表单令牌验证5051 // 验证完成生成数据对象。

weixin_67271870的博客 318

php 自动绑定model,thinkphp的model三大自动功能

一、自动验证格式如下:array('验证字段','验证规则','错误提示','验证条件','附加规则','验证时间')参数说明:验证字段:需要验证表单字段名称验证规则:必须要结合附加规则一起使用错误提示:如果出现错误,抛出一个什么样的错误提示告知用户验证条件:0、1、2附加规则:1、regex使用正则验证 2、function使用函数验证 3、callback回调 4、confirm验证表单当中两...

weixin_30481539的博客 259

使用thinkphp框架完成表单自动验证

LTOVE 942
上一篇: ThinkPHP学习笔记(九)Thinkphp中的查询方式大综合
下一篇: ThinkPHP学习笔记(十一)自动填充一个无限极分类
阳小良
博客等级 码龄17年 54粉丝 155原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值