首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Laravel 4验证

Laravel 4验证
EN

Stack Overflow用户
提问于 2013-05-13 16:21:58
回答 6查看 7.4K关注 0票数 6

在创建新用户时,我使用以下规则进行验证:

代码语言:javascript
运行
复制
protected $rules= [
    'name'    => 'required',
    'email'    => [
        'required',
        'unique:user',
        'email'
    ]
];

在更新现有用户时,我使用与上面所示相同的规则集,但如果用户根本不更改其电子邮件,则不希望出现验证错误。

我目前使用以下方法来解决这个问题:

代码语言:javascript
运行
复制
if (!User::changed('email')) {
    unset($user->email);
}

对我来说,这感觉像是一个肮脏的变通方法,所以我想知道是否有更好的替代方案。

还要注意,changed方法是我自己编写的。有没有人知道是否有一个原生的Laravel 4方法来检查模型属性是否发生了变化?

谢谢!

EN

Stack Overflow用户

发布于 2014-01-14 20:02:55

从2014-01-14开始,你可以使用sometimes属性,我相信泰勒在2天前将它们添加到了Laravel 4.1中

代码语言:javascript
运行
复制
$v = Validator::make($data, array(
    'email' => 'sometimes|required|email',
));

sometimes仅验证存在的输入。如果您没有insert的默认值,这可能适合您的场景,也可能不适合您的场景。

http://laravel.com/docs/validation#conditionally-adding-rules

票数 1
EN
查看全部 6 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16517606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档