tp6 场景验证
<?php
//针对参数类型开启严格模式,进行数据类型检验
declare (strict_types = 1);
namespace app\validate;
use think\Validate;
class User extends Validate
{
//定义规则
protected $rule = [
'uname|用户名' =>'require|unique:user',
'password|密码'=>'require|min:6',
'email|邮箱'=>"require|email|unique:user|max:16",
'mobile|手机号'=>"require|mobile|unique:user"
];
//定义错误信息
protected $message = [];
//定义场景
protected $scene = [
'edit'=>['email']
];
//单独为单个场景定义的方法
public function sceneEdits()
{
return $this->only(['uname','email'])
->remove('email',['max:16','unique:user']);
}
}
代码中使用
- 使用定义场景
//引入两个插件
use app\validate\User as UserValidate;
use think\facade\Validate;
//edits 即为 上面的公共函数去除 scene的内容
validate(UserValidate::class)->scene('edits')->check($data);
- 使用单独为单个场景定义的方法
//引入两个插件
use app\validate\User as UserValidate;
use think\facade\Validate;
//edit 即为 上述私有属性中的字段
validate(UserValidate::class)->scene('edit')->check($data);
觉得有用请点击呦
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~