Проверка запроса формы Laravel не работает с getValidatorInstance ()

У меня есть простой массив правил в функции правил:

return [
'anumber'  => 'required|numeric'
];

И я заполняю это в методе getValidatorInstance следующим образом:

request()->merge(['anumber' => IdsCompany::getNumDBempty()]);

getNumDBempty() работает как положено, и возвращает int или же falseЯ хочу, чтобы валидатор только принял запрос, если функция возвращает число.

Контроллер метод:

public function store(StoreIdsCompanyRequest $request, IdsCompany $ids_company_reg)
{

//$ids_company_reg =  new IdsCompany;

$data   = request()->all();

$user = User::find(auth()->id());

$numEmpresasAsesor = DB::table('accesses')
->where('userId', '=', auth()->id())
->distinct('companyId')->count();

if ($numEmpresasAsesor < ($user->consultant->asesorLimiteEmpresas))
{
if($ids_company_reg->createCompany_ForConsultant($data,$user->id))
{
return redirect()->route('consultants.companies.index')->with('success',trans('textos.SACC_registro_guardado'));
}
else
{
return redirect()->route('consultants.companies.create')->withInput()->withErrors($ids_company_reg->errors);
}

}
else
{
$ids_company_reg->errors = new IlluminateMessageBag;
$ids_company_reg->errors->add('error', trans('textos.CCF_numero_empresas'));
return redirect()->route('consultants.companies.create')->withInput()->withErrors($ids_company_reg->errors);
}
}

Дело в том, что anumber объединен с запросом, но он продолжает говорить мне, что anumber является обязательным

Я боролся и искал пару дней, и я не нашел ни малейшего понятия, почему валидатор не будет работать с переменными, объединенными в getValidatorInstance(), (Я пытался проверить это в других FormRequest и результат тот же, они игнорируют его, как будто переменной там никогда не было, но запрос содержится внутри.)

Работаю в Laravel 5.5 atm и планирую обновить 5.6, когда мой запрос формы будет выполнен и работает.

0

Решение

Ну, я понял это:

Кажется, что правильный способ добавления новых переменных таков:

$data['anumber'] = IdsCompany::getNumDBempty();

И это, чтобы добавить его к запросу:
request () -> merge ([‘anumber’ => IdsCompany :: getNumDBempty ()]);

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector