Могу ли я переопределить проверку laravel 5.6? - PullRequest
0 голосов
/ 12 января 2020

Я пытаюсь добавить проверку на основе условий. У меня есть функция обнаружения, которая отвечает за обнаружение того, что ввод - это электронная почта или число

$detectInput = $this->EmailService->detectInput($request->email);

Так что $detectInput всегда возвращает 0 или 1 или 2

$messages = [
    'required' => 'The :attribute field is required.',
    'unique' => 'The :attribute already exists.',
    'email' => 'The :attribute is invalid',
];

$rules = [
    'email'     => 'required|string',
];


    $detectInput = $this->EmailService->detectInput($request->email);
    if ($detectInput===1 || $detectInput===0) {
        $rules =  array_set($rules, 'email', 'email|unique:users');
    }

    if ($detectInput===2) {
        $rules =  array_set($rules, 'email', 'unique:users,login_number');
    }

    $validator = Validator::make($request->all(), $rules, $messages);

Первый if-statement работает нормально, но я не могу переопределить, когда второй if-statement сбудется. Я хочу переопределить проверку, которая проверяет входные данные из значения users.login_number столбцов, где значение дублируется или нет вместо users.email.

Может кто-нибудь любезно подсказать мне об этом, я был бы признателен.

...