我在创建新用户时使用以下规则进行验证:
protected $rules= [ 'name' => 'required','email' => [ 'required','unique:user','email' ] ];
更新现有用户时,我使用与上面所示相同的规则集
但如果用户根本没有更改他的电子邮件,则不希望出现验证错误.
if (!User::changed('email')) { unset($user->email); }
对我来说这感觉就像一个肮脏的解决方法,所以我想知道是否有更好的选择.
还要注意改变的方法是我自己写的.有没有人知道是否有
是一个用于检查模型属性是否已更改的本机Laravel 4方法?
谢谢!
唯一验证规则允许忽略给定的ID,在您的情况下,ID是您要更新的数据集的ID.
'email' => 'unique:users,email_address,10'