Laravel 中的默认验证错误消息未按预期运行。使用验证时,响应会显示类似 (validation.required) 的通用消息,而不是预期的 验证消息。
验证码:
$request->validate([
'email' => 'required|email',
'password' => 'required',
]);
回复:
lluminate\Support\ViewErrorBag Object ( [bags:protected] => Array ( [default] => Illuminate\Support\MessageBag Object ( [messages:protected] => Array ( [email] => Array ( [0] => validation.required ) [password] => Array ( [0] => validation.required ) ) [format:protected] => :message ) ) )
我想要: [email] => 数组( [0] => email 字段为必填项),但它响应 [email] => 数组( [0] =>validation.required )
我之前已经实现过这种类型的验证,并且它曾经有效。然而,出乎意料的是,它已经开始表现出这个问题。解决这个问题变得很耗时
$request->validate([
'email' => 'required|email',
'password' => 'required',
],[
'email.required' => 'message',
]);
我需要解决方案
不知道对你是否有帮助。在 Laravel 文档中说:
[“有时您可能希望仅为特定属性指定自定义错误消息。您可以使用“点”表示法来执行此操作。首先指定属性的名称,然后指定规则:
$messages = [
'email.required' => 'We need to know your email address!',
];
”]
您可以在这里找到更多信息:https://laravel.com/docs/11.x/validation#named-error-bags