Reputation: 1703
I want to validate an email address that a client submits but I don't want an error to pop up if client submits his own email address
Right now my email validation looks like this:
['email', 'unique', 'targetClass' => Client::class, 'message' => 'This email address is taken']
But I would like to be able to pass a function 'unique'
to determine whether I even need to apply the 'unique'
filter, like this:
['email', 'unique', 'unique' => function($value) { /* ... */ }, 'targetClass' => Client::class, 'message' => 'This email address is taken']
Upvotes: 0
Views: 38
Reputation: 359
Check the documentation "Forcing A Unique Rule To Ignore A Given ID": https://laravel.com/docs/5.2/validation#rule-unique
'email' => 'unique:users,email_address,'.$user->id
Edit For Yii check this documentation: https://www.yiiframework.com/doc/api/2.0/yii-validators-validator#$when-detail
Upvotes: 1