Tp5 Validate

* 独立验证*

 $data = [
     'name'=>'dcssssssssssss',
     'email'=>'sdasdqq.com'
 ];

 $validate = new Validate([
     'name'=>'require|max:10',
     'email'=>'email'
 ]);
 //如果有多个数据都不满足验证条件 批量验证 batch()
 $res = $validate->batch()->check($data);
 //返回所有错误 array
 dump($validate->getError());

* 验证器 (更好的封装性) *

创建一个独立的验证类
/Applications/XAMPP/xamppfiles/htdocs/zerg/application/api/validate/TestValidate.php
$data = [
            'name'=>'dcssssssssssss',
            'email'=>'sdasdqq.com'
        ];
        // 直接new TestValidate();
        $validate = new TestValidate();
        //批量验证
        $res = $validate->batch()->check($data);
        dump($validate->getError());

* 自定义验证规则*

创建一个验证器
/Applications/XAMPP/xamppfiles/htdocs/zerg/application/api/validate/IDMustBePostiveInt.php

//独立验证
        //验证器
        $data = [
            'name'=>'dcssssssssssss',
            'email'=>'sdasdqq.com'
        ];
        //唯一不同的是 这里new的是验证器
        **$validate = new IDMustBePostiveInt();**
        //批量验证
        $res = $validate->batch()->check($data);
        dump($validate->getError());
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方法获取错误信息。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值