首页> 实战笔录 >PHP开发笔记 >ThinkPHP ThinkPHP
TP5 自定义验证器
作者:小萝卜 2019-11-21 【 TP5 】 浏览 1888
简介TP内置验证功能提供两种验证方法,验证器、独立验证,以及自定义验证的代码分享
TP内置验证功能提供两种验证方法
- 验证器(推荐)
$validate = Validate::make([
'id' => 'require|integer',
]);
if ($validate->check(['id' => $id])) {
}
优点: 方便、快捷
缺点: 可读性和扩展性差
- 独立验证
namespace appadminvalidate;
class Banner extends BaseValidate {
protected $rule = [
'name' => 'require|max:25',
'age' => 'number|between:1,120',
'email' => 'email',
];
protected $message = [
'name.require' => '名称必须',
'name.max' => '名称最多不能超过25个字符',
'age.number' => '年龄必须是数字',
'age.between' => '年龄只能在1-120之间',
'email' => '邮箱格式错误',
];
protected $scene = [
'edit' => ['name','age'],
];
}
官方提供了一些验证规则,如果不能满足需求可以自定义
建议自定义在验证器基类中,这样所有继承这个类的子验证器都可以使用这些验证方法
定义规则
自定义验证器有以下几个参数
value:待验证的值
field:验证字段名
验证器推荐使用方法
定义验证器基类,继承 Validate类 ,在基类中定义一些公共验证规则和方法
很赞哦! (0)
上一篇:TP5 接口设计中异常处理
下一篇:TP5.1 钩子与行为应用
相关文章
- TP6阿里云OSS上传报SSL certificate problem:unable to get local issuer certificate
- TP5.1实现微信小程序用户登录后端代码分享
- thinkphp6 使用 jwt 生成 token 中间件验证token
- TP6/ThinPHP 修改错误级别
- TP6使用Jwt验证token时报错Cannot pass parameter 3 by reference
- TP6图片上传怎么验证图片的大小和类型?
- SQLSTATE[42S22]: Column not found: 1054 Unknown column 'Attr_id' in 'where clause'
- Tp6 $request->isAjax()不能验证axios提交的请求
- ThinkPHP3.2和5.0的区别
- TP3.2同时操作多个数据库