ddruganov
ddruganov

Reputation: 1703

Custom functions to check uniqueness of a field?

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

Answers (1)

Dimich
Dimich

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

Related Questions