TP5 Validate 验证

本文详细介绍了TP5框架中的验证规则,包括格式验证类(如require、number、email等)、长度和区间验证类(如in、notBetween、length等)、字段比较类(如confirm、different、eq等)、上传验证(如file、image、fileSize等)以及其他验证规则(如unique、requireIf等)。这些规则用于确保数据输入的有效性和安全性。
摘要由CSDN通过智能技术生成

TP5验证规则

系统内置的验证规则如下:

格式验证类

require

  验证某个字段必须,例如:'name'=>'require'

number 或者 integer

  验证某个字段的值是否为数字(采用filter_var验证),例如:'num'=>'number'

float

  验证某个字段的值是否为浮点数字(采用filter_var验证),例如:'num'=>'float'

boolean

  验证某个字段的值是否为布尔值(采用filter_var验证),例如:'num'=>'boolean'

email

  验证某个字段的值是否为email地址(采用filter_var验证),例如:'email'=>'email'

array

  验证某个字段的值是否为数组,例如:'info'=>'array'

accepted

  验证某个字段是否为为 yes, on, 或是 1。这在确认"服务条款"是否同意时很有用,例如:'accept'=>'accepted'

date

  验证值是否为有效的日期,例如:'date'=>'date'

  注:会对日期值进行strtotime后进行判断。

alpha

  验证某个字段的值是否为字母,例如:'name'=>'alpha'

alphaNum

  验证某个字段的值是否为字母和数字,例如:'name'=>'alphaNum'<

TP5中,可以通过以下方式获取validate定义的错误: 1. 在控制器中使用validate方法进行数据验证: ```php public function save(Request $request) { // 定义验证规则 $rule = [ 'username' => 'require|max:25', 'email' => 'email', 'password' => 'require|min:6', ]; // 定义提示信息 $msg = [ 'username.require' => '用户名不能为空', 'username.max' => '用户名长度不能超过25个字符', 'email.email' => '邮箱格式不正确', 'password.require' => '密码不能为空', 'password.min' => '密码长度不能少于6个字符', ]; // 数据验证 $result = $this->validate($request->param(), $rule, $msg); if (true !== $result) { // 输出错误信息 dump($result); } } ``` 2. 在模型中使用validate方法进行数据验证: ```php class User extends Model { // 定义验证规则 protected $validate = [ 'username' => 'require|max:25', 'email' => 'email', 'password' => 'require|min:6', ]; // 定义提示信息 protected $message = [ 'username.require' => '用户名不能为空', 'username.max' => '用户名长度不能超过25个字符', 'email.email' => '邮箱格式不正确', 'password.require' => '密码不能为空', 'password.min' => '密码长度不能少于6个字符', ]; // 数据验证 public function saveUser($data) { $result = $this->validate($this->validate, $this->message)->save($data); if (false === $result) { // 输出错误信息 dump($this->getError()); } return $result; } } ``` 在以上两种方式中,数据验证不通过时,可以通过getError方法获取错误信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值