Как добавить проверку, если операция CRUD выполняется с маршрутами в Laravel - PullRequest
0 голосов
/ 01 сентября 2018

Я хотел бы попросить вас о том, как добавить проверку в формы, если используются маршруты, а не контроллеры. Код, который я использую до сих пор:

Route::post('/contact/submit', function (Request $request) {
    validate($request,[
        'FirstName'=>'required',
        'LastName'=>'required',
        'Age'=>'required'
    ]);

Кроме того, как можно добавить пользовательскую проверку, например, чтобы вместо сообщения «Имя обязательно» просто отображалось «Пожалуйста, заполните поле имени».

1 Ответ

0 голосов
/ 01 сентября 2018

Да, вам нужно использовать класс Validator, и да, вы также можете добавить еще одну переменную для пользовательского сообщения.

Route::post('/contact/submit', function (Illuminate\Http\Request $request) {
    $rules = [
        'FirstName' => 'required',
        'LastName' => 'required',
    ];
    $messages = [
        "FirstName.required" => "First name is compulsory.",
        "LastName.required" => "Last name is mandadory.",
    ];
    $validator = Validator::make($request->all(), $rules,$messages);
    if($validator->fails()){
        return dd($validator->messages());
    }
});

Сообщение об ошибке будет похоже на

MessageBag {#1332 ▼
  #messages: array:2 [▼
    "FirstName" => array:1 [▼
      0 => "First name is compulsory."
    ]
    "LastName" => array:1 [▼
      0 => "Last name is mandadory."
    ]
  ]
  #format: ":message"
}
...