前言
laravel验证非常强大,但是碰到有场景和自定义验证函数的时候,还是相对感觉thinkphp6的验证比较简单,下面我们可以简单的添加一个验证器
手册地址
thinkphp6: https://www.kancloud.cn/manual/thinkphp6_0/1037624
laravel6: https://learnku.com/docs/laravel/6.x/validation/5144
代码复制
下载tp验证核心文件
https://github.com/top-think/framework/tree/6.0/src/think 的Validate.php文件
https://github.com/top-think/framework/tree/6.0/src/think/validate 的ValidateRule.php文件
https://github.com/top-think/framework/tree/6.0/src/think/exception 的ValidateException.php文件
更换辅助函数Validate.php文件的Str::camel改为Str::snake,并引入命名空间
use Illuminate\Support\Str;
多语言
验证器几处涉及多语言$this->lang
的地方,你可以改成laravel或者直接去除多语言获取
新建目录
在laravel的app目录下新建Validate目录,将3个文件放置进去,重新修改下命名空间
全部改成
namespace app\validate;
使用
所有的验证器类继承Validate基类即可
最后
你的laravel验证可以直接看thinkphp6的验证器手册即可,不明白的地方也可以在码云issues提问