I wanted to ask for your help about how I can add validation to forms if routes are used rather than controllers. The code I use so far:
Route::post('/contact/submit', function (Request $request) {
validate($request,[
'FirstName'=>'required',
'LastName'=>'required',
'Age'=>'required'
]);
Also, how is it possible to add custom validation, for example, to ensure that instead of message "Name is required" just show "Please fill name field".
Yes you need to use Validator
class and yes you can also add another variable for custom message.
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());
}
});
Error Message will be like
MessageBag {#1332 ▼
#messages: array:2 [▼
"FirstName" => array:1 [▼
0 => "First name is compulsory."
]
"LastName" => array:1 [▼
0 => "Last name is mandadory."
]
]
#format: ":message"
}