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