如何使用thinkphp 5内置验证功能及自定义验证方法

一个独立的系统,仅仅只在前台进行表单验证是远远不够的,在处理 PHP 表单时提交时需重视安全性,我们需对 HTML 表单数据进行适当的验证对于防范黑客很重要。 使用ThinkPHP 5框架做项目时,如何使用框架自带的验证机制和框架内自定义验证规则 来比较好地做好项目,下面我们以实际项目讲解:(以下代码截取自tp5开源商城系统WSTMart,大家可自行下载)。

使用TP5框架验证 (1)在需要使用验证的模块下创建validate目录,在目录下创建验证文件。

如何使用thinkphp 5内置验证功能及自定义验证方法_第1张图片

(2)验证规则的定义

输入图片说明

验证多个规则:

如何使用thinkphp 5内置验证功能及自定义验证方法_第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官方文档  

自定义验证规则:系统内置了一些规则,偶尔会出现不够用,因此可以自己扩展验证规则,可以直接在验证器类添加自己的验证方法(需要注意的是,自定义的验证规则方法名不能和已有的规则冲突)

如何使用thinkphp 5内置验证功能及自定义验证方法_第3张图片

(4)在model文件中,需要使用的地方调用validate(true)方法

如何使用thinkphp 5内置验证功能及自定义验证方法_第4张图片

(5) 若验证不通过,save()会返回false,验证不通过的原因可以通过$this->getError()来获取

如何使用thinkphp 5内置验证功能及自定义验证方法_第5张图片

以上就是tp5的系统验证规则及自定义验证方法规则,大家有比较好的方法也希望多留言交流!

转载于:https://my.oschina.net/u/2392706/blog/1574521

你可能感兴趣的:(如何使用thinkphp 5内置验证功能及自定义验证方法)