模型验证
在模型中的验证方式如下:
$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
未解决你的问题?请到「问答社区」反馈你遇到的问题