Laravel 数组验证消息值
Laravel Array Validation Message Value
对于数组验证消息,有没有办法显示值而不是属性?在不使用自定义验证器的情况下这样做。
示例:
$messages = [
‘*' => ':value is invalid.’
]
这将输出类似 "email@address is invalid" 的内容。
感谢您的帮助!
对于完全自定义的字符串,您可以将自定义消息作为第三个参数传递给 Validator::make()
方法。如果您只需要通用描述符,您可以使用一些内置的占位符,例如 :attribute
、:size
或 :values
例如:
$messages = ['required' => 'The :attribute field is required.'];
$validator = Validator::make($input, $rules, $messages);
:attribute
将替换为正在验证的字段的实际名称。
可以找到更多信息 here。
为了访问索引以进行数组验证,我只是遍历要验证的元素,而不是使用 * 通配符。
public function messages()
{
$messages = [];
foreach($this->emails as $key => $email) {
$messages[$key] = $email . ' is an invalid email address.';
}
return $messages;
}
希望这对遇到同样问题的人有所帮助。
如果有人仍在寻找最新的 Laravel 版本,答案是在消息输出中使用 :input
参数:
'between' => 'The :attribute value :input is not between :min - :max.'
文档:https://laravel.com/docs/5.7/validation#custom-error-messages
对于数组验证消息,有没有办法显示值而不是属性?在不使用自定义验证器的情况下这样做。
示例:
$messages = [
‘*' => ':value is invalid.’
]
这将输出类似 "email@address is invalid" 的内容。
感谢您的帮助!
对于完全自定义的字符串,您可以将自定义消息作为第三个参数传递给 Validator::make()
方法。如果您只需要通用描述符,您可以使用一些内置的占位符,例如 :attribute
、:size
或 :values
例如:
$messages = ['required' => 'The :attribute field is required.'];
$validator = Validator::make($input, $rules, $messages);
:attribute
将替换为正在验证的字段的实际名称。
可以找到更多信息 here。
为了访问索引以进行数组验证,我只是遍历要验证的元素,而不是使用 * 通配符。
public function messages()
{
$messages = [];
foreach($this->emails as $key => $email) {
$messages[$key] = $email . ' is an invalid email address.';
}
return $messages;
}
希望这对遇到同样问题的人有所帮助。
如果有人仍在寻找最新的 Laravel 版本,答案是在消息输出中使用 :input
参数:
'between' => 'The :attribute value :input is not between :min - :max.'
文档:https://laravel.com/docs/5.7/validation#custom-error-messages