lundi 9 décembre 2019

Verify duplicate values on the array in Laravel5.7

I am try as below code,but not working. Only verify duplicate on database. when I send a duplicate email, the validation will success. But my want result is verify the post data 'email' field is it duplicate at database and post data.

'users.*.email'        => ['required','unique:users','email']

relate code

UsersController

public function MassStore(MassStoreUserRequest $request)
{

    $inputs = $request->get('users');
    //post data($inputs) will send like as below
    //    'users' => [
    //        [
    //            'name'      => 'Ken Tse',
    //            'email'     => 'ken@gamil.com',
    //            'password'  => 'ken12ken34ken',
    //        ],
    //        [
    //            'name'      => 'Ken Tse',
    //            'email'     => 'ken@gamil.com',   //duplicate, so need trigger error
    //            'password'  => 'ken12ken34ken',
    //        ],
    //    ]

    //mass sotre process
    ....
    //error message
    //[2019-12-10 15:51:16] local.DEBUG: PDOException: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'ken@gamil.com' for key 'users_email_unique'

    return redirect()->route('admin.users.index');
}

MassStoreUserRequest

public function rules()
{
    return [
        'users'                => ['required','array'],
        'users.*.name'         => ['required'],
        'users.*.email'        => ['required','unique:users','email'],
        'users.*.password'     => ['required','min:8']
    ];
}


via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire