@Pichenka94

Как передать переменую в Validator?

Добрый день, собственно вопрос в заголовке.

Сейчас говорит что переменная неопределена, код следующий

...
protected $phone_number;

public function __construct()
{
   $this->middleware('guest');
   $this->phone_number = request()->input('phone');
}

protected function validator(array $data)
{
    return Validator::make($data, [
            ...
            'verification_code' =>  Rule::exists('phone_numbers', 'verification_code')->where(function ($query) use ($phone_number) {
                $query->where('phone_number', $phone_number);
            }),
    ]);
}
...
  • Вопрос задан
  • 86 просмотров
Решения вопроса 1
@Kostik_1993
Fullstack Web Developer | PHP | Laravel | Vue.js
Все правильно говорит, ты же к ней обращаешься неправильно, ты задал ее как $this->phone_number, а вызываешь как $phone_number.
Следовательно определи ее перед вызовом валидатора $phone_number = $this->phone_number;

Или вызывай ее из контекста объекта
'verification_code' =>  Rule::exists('phone_numbers', 'verification_code')->where(function ($query) {
                $query->where('phone_number', $this->phone_number);
            }),
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
от 100 000 ₽
Сайт-Мастер Санкт-Петербург
от 150 000 до 180 000 ₽
BRICK Оренбург
от 140 000 до 180 000 ₽
18 июн. 2021, в 00:46
3500 руб./за проект
17 июн. 2021, в 23:09
800 руб./в час
17 июн. 2021, в 22:01
35000 руб./за проект