如何使用这种格式返回自定义错误消息?
$this->validate($request, [
'thing' => 'required'
]);
要获取自定义错误消息,您需要在第三个参数上传递自定义错误消息,就像这样
$this->validate(
$request,
['thing' => 'required'],
['thing.required' => 'this is my custom error message for required']
);
对于多字段、角色和字段角色特定消息
$this->validate(
$request,
[
'uEmail' => 'required|unique:members',
'uPassword' => 'required|min:8'
],
[
'uEmail.required' => 'Please Provide Your Email Address For Better Communication, Thank You.',
'uEmail.unique' => 'Sorry, This Email Address Is Already Used By Another User. Please Try With Different One, Thank You.',
'uPassword.required' => 'Password Is Required For Your Information Safety, Thank You.',
'uPassword.min' => 'Password Length Should Be More Than 8 Character Or Digit Or Mix, Thank You.',
]
);
https://laravel.com/docs/5.3/validation#working-with-error-messages
$messages = [
'required' => 'The :attribute field is required.',
];
$validator = Validator::make($input, $rules, $messages);
“在大多数情况下,您可能会在语言文件中指定自定义消息,而不是将它们直接传递给验证器。为此,请将消息添加到 resources/lang/xx/validation.php 语言文件中的自定义数组中。 ”
奇怪的是,文档中没有出现,您可以直接从 Illuminate/Http/Request 指定第一个参数作为验证规则,将第二个参数指定为消息格式,而不是调用
$this
或 Validator
类。
public function createCustomer(Request $request)
{
# Let's assume you have a $request->input('customer') parameter POSTed.
$request->validate([
'customer.name' => 'required|max:255',
'customer.email' => 'required|email|unique:customers,email',
'customer.mobile' => 'required|unique:customers,mobile',
], [
'customer.name.required' => 'A customer name is required.',
'customer.email.required' => 'A customer email is required',
'customer.email.email' => 'Please specify a real email',
'customer.email.unique' => 'You have a customer with that email.',
'customer.mobile.required' => 'A mobile number is required.',
'customer.mobile.unique' => 'You have a customer with that mobile.',
]);
}
您需要首先在要显示错误消息的视图页面中添加以下行:
<div class="row">
<div class="col-md-4 col-md-offset-4 error">
<ul>
@foreach($errors->all() as $error)
<li>{{$error}}</li>
@endforeach
</ul>
</div>
</div>
这是一个演示控制器,错误消息将显示在该页面上:
public function saveUser(Request $request)
{
$this->validate($request,[
'name' => 'required',
'email' => 'required|unique:users',
]);
$user=new User();
$user->name= $request->Input(['name']);
$user->email=$request->Input(['email']);
$user->save();
return redirect('getUser');
}
详情可以关注博文。 除此之外,您还可以关注 laravel 官方文档Validation。
这很有帮助,但是,我尝试使用 validate.php 方法,但我不断收到一个错误,提示未定义的数组