模型验证

在模型中的验证方式如下:

						$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()); }
					
文档最后更新时间:2018-04-26 10:47:18

文档
目录

深色
模式

切换
宽度