Laravel E-mail Validation - PullRequest
       3

Laravel E-mail Validation

0 голосов
/ 03 декабря 2018

Как я могу проверить адрес электронной почты и сделать их уникальными?моя проблема в том, что когда я сохраняю и не вводил электронную почту, она все равно будет сохранена, вот мой адрес электронной почты

мой запрос на проверку

 $this->validate($request, [ 
        'email_ad' => 'required|email|unique:clients'
    ]);

Ответы [ 4 ]

0 голосов
/ 03 декабря 2018

привет, попробуй это работа для меня

 'email' => ['required', 'email', 'max:255', Rule::unique('users')],
0 голосов
/ 03 декабря 2018

Это поможет вам проверить все поля, включая электронную почту, а также настроить сообщение

 $messages = [
                    'same' => 'The passwords did not match'//customized message
                ];   
         $input = $request->validate([
                        'name' => 'required', //name validation
                        'email' => 'required|email|unique:users,email', //email validation
                        'phone' => 'required|unique:users|min:10|max:12|numeric', //Phone validation
                        'password' => 'required', //password validation
                        'c_password' => 'required|same:password', //confirm Password validation
                        'gender' => 'required', //field validation
                        'referral_code' => 'nullable',
                    ], $messages);

Надеюсь, вы понимаете!

0 голосов
/ 03 декабря 2018

Иногда вы можете игнорировать данные ID во время уникальной проверки.Например, рассмотрим экран update profile, который включает имя пользователя, e-mail address и местоположение.Конечно, вы захотите убедиться, что адрес электронной почты unique.Однако, если пользователь изменяет только поле имени, а не поле электронной почты, вы не хотите, чтобы выбрасывалось validation error, поскольку пользователь уже является владельцем адреса электронной почты.

Попробуйтеиспользовать этот подход

use Illuminate\Validation\Rule;

$this->validate($request, [
    'email_ad' => [
        'required',
        Rule::unique('clients')->ignore($client->id),
    ],
]);
0 голосов
/ 03 декабря 2018

Вам необходимо включить столбец в таблицу клиентов следующим образом:

$this->validate($request, [ 
    'email_ad' => 'required|email|unique:clients,email'
]);

Это говорит о проверке, какой столбец нужно проверить по

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...