有没有办法在验证器消息中插入从用户传递的错误值?
更新:
例如,如果该字段必须接受来自" 1"的值。至" 10"并插入" 200"我想写:
'The :attribute must be between 1 and 10. Your value is 200.'
:
$validator_default_message = [
'digits_between' => 'The ":attribute" must be between :min and :max.',
];
$validator = Validator::make($phase, [
'depth' => 'digits_between:0,10',
], $validator_default_message);
if ($validator->fails()) {
$status = $validator->failed();
$errorMessage = $validator->messages()->all();
abort($status, $errorMessage);
}
我想留言:The depth must be between 0 and 10. Your input value is 200
。
谢谢。
答案 0 :(得分:1)
在请求文件中添加:
extension EKParticipant {
var optionalURL: URL? {
return participantURL(self)
}
var hasURL: Bool {
return participantHasNonNilURL(self)
}
}
了解更多信息,请点击此处:https://laravel.com/docs/5.4/validation#customizing-the-error-messages
答案 1 :(得分:1)
public function messages()
{
return [
'fieldname.numeric' => 'The :attribute must be numeric. Your value is '.$request->input('fieldname')
];
}
答案 2 :(得分:0)
public function messages()
{
return [
'title.required' => 'A title is required',
'body.required' => 'A message is required',
];
}
so basically the rule of the game is
return [
yourFieldName.ValidationRule => Customessage
]
and $request->input('fieldname') to access the value
这是一个来自laravel doc
的例子答案 3 :(得分:0)
这可能会为您提供更多见解:
https://laracasts.com/discuss/channels/general-discussion/laravel-5-custom-error-messages
可以在这里放置messages()方法:app / Http / Requests / YourRequest.php
来自@Laracasts:
使用Laravel 5 .4并看到validate()方法可选地接受messages []作为其第三个参数并执行此操作。
var array=[{id:1, names:["john","james","alice"]},
{id:2, names:["lisa","carlos","josh"]}]
var obj={id:3, names:["david"]}
array.push(obj);
console.log(array);
答案 4 :(得分:0)
如果您使用Validator
方法的validate()
实例,它将返回到具有旧值的页面,可以使用old('form field')
检索该值old('title')
在您的视图中,您可以使用以下方法检查特定字段和规则是否有错误消息:
if($errors->has('input_name.numeric')){
//code
)
在这里,您可以使用旧的输入值来返回消息:
{{$errors->get('input_name.numeric').
' Your value was ' . old('input_name') . '.'}}
这将打印例如:
input_name必须介于1和10之间。您的值为200。
可以找到有关检索旧输入的文档here。