做电商怎么建网站,建设网站都需要下载那些软件,博客类网站模板,免费咨询大夫前言
最近接手了个用FastAdmin#xff08;基于tp5#xff09;写的项目#xff0c;发现命令行只提供生成controller和model的命令#xff0c;没有提供make:validate命令#xff0c;而5.1及以上版本是有的#xff0c;对于使用tp5.0框架或者基于tp5.0的第三框架#xff08…前言
最近接手了个用FastAdmin基于tp5写的项目发现命令行只提供生成controller和model的命令没有提供make:validate命令而5.1及以上版本是有的对于使用tp5.0框架或者基于tp5.0的第三框架如FastAdmin的项目非常不友好。做了个扩展来添加make:validate命令生成validate类。扩展的逻辑是从5.1框架源码直接复制过来的所以验证器用法跟官方的一模一样请放心使用。
github地址https://github.com/jian1098/tp5-validate
注意本扩展仅适用于Thinkphp5.0版本更高的版本还是推荐使用自带的命令。
如何使用
1.安装扩展
composer require jian1098/tp5-validate:dev-master2.注册命令
打开application/command.php在数组中增加一行引入即可
return [Jian1098\Tp5Validate\Command\Validate
];在命令行输入php think查看命令行列表可以看到make:validate命令已添加
Think Console version 0.1
...makemake:controller Create a new resource controller classmake:model Create a new model classmake:validate Create a new validate class
...3.创建验证器
根据5.1版本的文档创建即可
php think make:validate TestValidate该命令会生成application/common/validate/TestValidate.php文件
4.控制器中调用验证器 先在上面创建的TestValidate.php中填写验证规则和验证场景 ?phpnamespace app\common\validate;use think\Validate;class TestValidate extends Validate
{/*** 定义验证规则* 格式字段名 [规则1,规则2...]** var array*/protected $rule [email require|email,password require|min:6,];/*** 定义错误信息* 格式字段名.规则名 错误信息** var array*/protected $message [email.email 邮箱格式不正确,];/*** 验证场景定义* 格式场景名称 [字段1,字段2...]** var array*/protected $scene [login [email, password],];
}在控制器中验证 ?phpnamespace app\index\controller;use think\Controller;class Test extends Controller
{public function index(){$data $this-request-param();$result $this-validate($data,TestValidate.login);if(true ! $result){// 验证失败 输出错误信息dump($result);exit();}echo success;}
}