Я пытаюсь добавить проверку на основе условий. У меня есть функция обнаружения, которая отвечает за обнаружение того, что ввод - это электронная почта или число
$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
.
Может кто-нибудь любезно подсказать мне об этом, я был бы признателен.