NIUCLOUD是一款SaaS管理后台框架多应用插件+云编译。上千名开发者、服务商正在积极拥抱开发者生态。欢迎开发者们免费入驻。一起助力发展! 广告
# 模型验证 在模型中的验证方式如下: ``` $User = new User; $result = $User->validate( [ 'name' => 'require|max:25', 'email' => 'email', ], [ 'name.require' => '名称必须', 'name.max' => '名称最多不能超过25个字符', 'email' => '邮箱格式错误', ] )->save($data); if(false === $result){ // 验证失败 输出错误信息 dump($User->getError()); } ``` > 第二个参数如果不传的话,则采用默认的错误提示信息。 如果使用下面的验证器类的话: ``` namespace app\index\validate; use think\Validate; class User extends Validate { protected $rule = [ 'name' => 'require|max:25', 'email' => 'email', ]; protected $message = [ 'name.require' => '用户名必须', 'email' => '邮箱格式错误', ]; protected $scene = [ 'add' => ['name','email'], 'edit' => ['email'], ]; } ``` 模型验证代码可以简化为: ``` $User = new User; // 调用当前模型对应的User验证器类进行数据验证 $result = $User->validate(true)->save($data); if(false === $result){ // 验证失败 输出错误信息 dump($User->getError()); } ``` 如果需要调用的验证器类和当前的模型名称不一致,则可以使用: ``` $User = new User; // 调用Member验证器类进行数据验证 $result = $User->validate('Member')->save($data); if(false === $result){ // 验证失败 输出错误信息 dump($User->getError()); } ``` 同样也可以支持场景验证: ``` $User = new User; // 调用Member验证器类进行数据验证 $result = $User->validate('User.edit')->save($data); if(false === $result){ // 验证失败 输出错误信息 dump($User->getError()); } ```