如果使用路由而不是控制器,我想请求您如何为表单添加验证。我到目前为止使用的代码:
Route::post('/contact/submit', function (Request $request) {
validate($request,[
'FirstName'=>'required',
'LastName'=>'required',
'Age'=>'required'
]);
此外,如何添加自定义验证,例如,以确保代替“名称是必需的”消息只显示“请填写名称字段”。
是的,您需要使用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"
}