如何使用thinkphp 5内置验证功能及自定义验证方法
2017-11-16 00:00
645 查看
摘要: 使用ThinkPHP 5框架做项目时,如何使用框架自带的验证机制和框架内自定义验证规则 来比较好地做好项目,下面我们以实际项目讲解
一个独立的系统,仅仅只在前台进行表单验证是远远不够的,在处理 PHP 表单时提交时需重视安全性,我们需对 HTML 表单数据进行适当的验证对于防范黑客很重要。
使用ThinkPHP 5框架做项目时,如何使用框架自带的验证机制和框架内自定义验证规则 来比较好地做好项目,下面我们以实际项目讲解:(以下代码截取自tp5开源商城系统WSTMart,大家可自行下载)。
使用TP5框架验证
(1)在需要使用验证的模块下创建validate目录,在目录下创建验证文件。
(2)验证规则的定义
验证多个规则:
(3)验证规则(部分)
TP5框架内置了常用的验证规则:
require:验证某个字段必须
例如:['goodsName','require','请输入商品名称']
number(integer):验证某个字段的值是否为数字
例如:['goodsSn','number','商品货号只能为数字']
float:验证某个字段的值是否为浮点数据
例如:['goodsPrice','float','商品价格只能为浮点数']
in:验证某个字段的值是否在某个范围
例如:['goodsType' ,'in:,0,1','无效的商品类型'],
notIn:验证某个字段的值是否不在某个范围
例如:['goodsType' ,'notIn:,0,1','无效的商品类型'],
max:number 验证某个字段的值的最大长度
例如:['goodsName' ,'max:300','商品名称不能超过100个字符']
*以上只是部分内置规则,完整的内置规则请参考TP5官方文档
自定义验证规则:系统内置了一些规则,偶尔会出现不够用,因此可以自己扩展验证规则,可以直接在验证器类添加自己的验证方法(需要注意的是,自定义的验证规则方法名不能和已有的规则冲突)
(4)在model文件中,需要使用的地方调用validate(true)方法
(5) 若验证不通过,save()会返回false,验证不通过的原因可以通过$this->getError()来获取
以上就是tp5的系统验证规则及自定义验证方法规则,大家有比较好的方法也希望多留言交流!
一个独立的系统,仅仅只在前台进行表单验证是远远不够的,在处理 PHP 表单时提交时需重视安全性,我们需对 HTML 表单数据进行适当的验证对于防范黑客很重要。
使用ThinkPHP 5框架做项目时,如何使用框架自带的验证机制和框架内自定义验证规则 来比较好地做好项目,下面我们以实际项目讲解:(以下代码截取自tp5开源商城系统WSTMart,大家可自行下载)。
使用TP5框架验证
(1)在需要使用验证的模块下创建validate目录,在目录下创建验证文件。
(2)验证规则的定义
验证多个规则:
(3)验证规则(部分)
TP5框架内置了常用的验证规则:
require:验证某个字段必须
例如:['goodsName','require','请输入商品名称']
number(integer):验证某个字段的值是否为数字
例如:['goodsSn','number','商品货号只能为数字']
float:验证某个字段的值是否为浮点数据
例如:['goodsPrice','float','商品价格只能为浮点数']
in:验证某个字段的值是否在某个范围
例如:['goodsType' ,'in:,0,1','无效的商品类型'],
notIn:验证某个字段的值是否不在某个范围
例如:['goodsType' ,'notIn:,0,1','无效的商品类型'],
max:number 验证某个字段的值的最大长度
例如:['goodsName' ,'max:300','商品名称不能超过100个字符']
*以上只是部分内置规则,完整的内置规则请参考TP5官方文档
自定义验证规则:系统内置了一些规则,偶尔会出现不够用,因此可以自己扩展验证规则,可以直接在验证器类添加自己的验证方法(需要注意的是,自定义的验证规则方法名不能和已有的规则冲突)
(4)在model文件中,需要使用的地方调用validate(true)方法
(5) 若验证不通过,save()会返回false,验证不通过的原因可以通过$this->getError()来获取
以上就是tp5的系统验证规则及自定义验证方法规则,大家有比较好的方法也希望多留言交流!
相关文章推荐
- 如何使用thinkphp 5内置验证功能及自定义验证方法
- Sql2012如何将远程服务器数据库及表、表结构、表数据导入本地数据库 自定义日志记录功能,按日记录,很方便 C#常量和字段以及各种方法的语法总结 类型,对象,线程栈,托管堆在运行时的关系,以及clr如何调用静态方法,实例方法,和虚方法 asp.net webapi 自定义身份验证
- joomla内置的表单验证功能使用方法
- thinkphp5.0自定义验证规则使用方法
- Win8文件拖放功能使用介绍及自定义锁定屏幕功能开启方法
- [翻译]如何使用LINQ方法来比较自定义类型的对象
- Thinkphp模板中使用自定义函数的方法
- 利用webservice.htc如何使用Soap标头自定义身份验证和授权
- 如何使用来自 Rich Edit(CRichEditCtrl) 控件的内置打印功能
- 如何使用单元测试 测试WEB组件方法中的含有Session、Cookie等HttpContext功能调用的方法? 转
- 如何使用单元测试 测试WEB组件方法中的含有Session、Cookie等HttpContext功能调用的方法?
- ThinkPHP模板中使用自定义函数的方法
- Asp.net自定义验证控件CustomValidator 的使用方法
- Thinkphp模板中使用自定义函数的方法
- Thinkphp模板中使用自定义函数的方法
- ASP.NET - 如何:使用自定义函数对 ASP.NET 服务器控件进行验证
- 如何:使用自定义函数对 ASP.NET 服务器控件进行验证
- ThinkPHP模版下面如何使用php函数或者自定义函数
- 回发或回调参数无效。在配置中使用 或在页面中使用 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。