Laravel Запрос валидации переименовать поле - PullRequest
0 голосов
/ 23 марта 2020

Я использую pickadate. js и у меня проблема с проверкой laravel. Если я отправлю форму с указателем даты в свое приложение, тогда появятся два поля. birthday и birthday_submit. Последний создается pickadate. js и содержит дату в следующем формате: yyyy/mm/dd.

В моей модели есть столбец birthday. И моя проверка выглядит следующим образом:

$request->validate([
            "first_name"=>"required_without:last_name",
            "email"=>"nullable|email",
            "birthday_submit"=>"nullable|date"
        ]);

Если я передам ее функции create() (Eloquent), то получу ошибку, что birthday_submit не существует.

Есть ли способ переименовать birthday_submit в birthday, чтобы я мог массово назначить его? Также сообщения об ошибках были бы лучше, потому что пользователь не должен получить сообщение об ошибке, что birthday_submit недействительно.

1 Ответ

1 голос
/ 23 марта 2020

Вы можете «вмешаться» в параметр $request, выполнив перед проверкой что-то подобное:

$request->merge(['birthday' => $request->birthday_submit]);

В основном вы вставляете другое поле внутри $request с ключом birthday и значением birthday_submit

Затем вы можете использовать это поле при проверке.

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