ThinkPHP6如何使用validate验证器

2020-09-20   阅读:4633   分类:后端    标签: TP6

ThinkPHP6推荐使用验证器,可以在控制器中使用validate助手函数(或者封装验证方法)进行验证。

首先在模块下创建validate文件夹,创建一个名为checkLogin.php的文件,用来验证登录信息

也可以可以使用下面的指令快速生成checkLogin验证器。

php think make:validate admin\checkLogin
<?php
/**
 *
 * User: 简忆
 * Date: 2020/9/20
 * Email: <2938039696@qq.com>
 **/
namespace app\admin\validate;
use think\Validate;
class checkLogin extends Validate
{
    protected $rule = [
        'admin_name' => 'require',
        'admin_password' => 'require',
        'captcha' => 'require',
    ];
    protected $message = [
        'admin_name.require' => '请输入账号',
        'admin_password.require' => '请输入密码',
        'captcha.require' => '请输入验证码',
    ];
}
?>

控制器方法中使用:

<?php

$data=[
   'captcha'=>$request->param('captcha'),
   'admin_name'=>$request->param('admin_name'),
   'admin_password'=>$request->param('admin_password')
];
$validate = new \app\union\validate\checkLogin();
$result = $validate->check($data);
if(!$result){
  return returnJson('500',$validate->getError());
}
?>

验证场景:验证器支持定义场景,并且验证不同场景的数据,例如:

<?php
/**
 *
 * User: 简忆
 * Date: 2020/9/20
 * Email: <2938039696@qq.com>
 **/
namespace app\admin\validate;
use think\Validate;
class checkLogin extends Validate
{
    protected $rule = [
        'admin_name' => 'require',
        'admin_password' => 'require',
        'captcha' => 'require',
    ];
    protected $message = [
        'admin_name.require' => '请输入账号',
        'admin_password.require' => '请输入密码',
        'captcha.require' => '请输入验证码',
];
protected $scene = [
        'edit'  =>  [' admin_name ',' admin_password '],
    ];    
 
}
?>

控制器方法中使用:

<?php 

$result = $validate->scene('edit')->check($data);

?>


【腾讯云】 爆款2核2G3M云服务器首年 61元,2核2G4M云服务器新老同享 99元/年,续费同价

‘简忆博客’微信公众号 扫码关注‘简忆博客’微信公众号,获取最新文章动态
转载:请说明文章出处“来源简忆博客”。http://www.tpxhm.com/adetail/434.html

×
觉得文章有用就打赏一下文章作者
微信扫一扫打赏 微信扫一扫打赏
支付宝扫一扫打赏 支付宝扫一扫打赏

文章评论(0)

登录
简忆博客壁纸一
简忆博客壁纸二
简忆博客壁纸三
简忆博客壁纸四
简忆博客壁纸五
简忆博客壁纸六
简忆博客壁纸七
简忆博客壁纸八
头像

简忆博客
勤于学习,乐于分享

置顶推荐

打赏本站

如果你觉得本站很棒,可以通过扫码支付打赏哦!
微信扫码:你说多少就多少~
微信扫码
支付宝扫码:你说多少就多少~
支付宝扫码
×