Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to validate combined uniqueness of two fields in Laravel 5.6?

Here is my validation rules:-

$validationCondition    = array(
                            'fname'     => 'required|min:2',
                            'lname'     => 'required|min:2',
                            'email'     => 'required|email|unique:users,email',
                            'isd'       => 'required|unique:users,isd',
                            'mobile'    => 'required',
                            'password'  => 'required'
                        );
$validationMessages     = array(
                            'fname.required'    => 'Please provide first name',
                            'fname.min'         => 'First name should be atleast 3 characters long',

                            'lname.required'    => 'Please provide last name',
                            'lname.min'         => 'Last name should be atleast 3 characters long',

                            'email.required'    => 'Please provide email',
                            'email.email'       => 'Please provide a valid email id',
                            'email.unique'      => 'This email id has already been registered. Choose any other valid email id.',

                            'isd.required'      => 'The city name should be atleast 3 characters long',

                            'mobile.required'   => 'Please provide mobile number',

                            'password.required' => 'Please provide password'
                        );

In the users table, both the isd and mobile are to be checked to ensure whether the contact number is unique.

How can I check that? I know how to check uniqueness of a single field, but don't know how to check combined value as unique.

like image 721
Saswat Avatar asked Dec 16 '25 12:12

Saswat


2 Answers

$validationCondition = array(
    ...
    'isd' => 'required',
    'mobile' => 'required|unique:users,mobile,NULL,id,isd,' . $request->isd,
    ...
);

The meaning of that unique rule for mobile will be: "value of mobile must be unique among all existing users that have isd of the same value that came in request".

$request here is the instance of incoming request that you are validating (obviously).

like image 79
d3jn Avatar answered Dec 19 '25 05:12

d3jn


You can use like below

'mobile'  => 'required|unique:users,mobile,NULL,id,mobile,isd'

Get more details from doc

like image 25
Niklesh Raut Avatar answered Dec 19 '25 05:12

Niklesh Raut



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!