我想在验证函数中插入验证自定义消息,如下所示:
public function postLogin(Request $request)
{
$rulesemail=['required'=>'Este campo es requerido.'];
$rulespassword=['min'=>'Debe teclear al menos :min caracteres','required'=>'Favor de teclear su contraseña'];
$this->validate($request, [
'email' => 'required|email|max:60', 'password' => 'required|min:6'],$rulespassword
);
但我无法让它发挥作用。有什么想法吗?
答案 0 :(得分:1)
您不能使用validate()
特征中的默认ValidatesRequests
。
但是,您可以覆盖基本控制器中的功能以更改:
public function validate(Request $request, array $rules, array $messages = array())
{
$validator = $this->getValidationFactory()->make($request->all(), $rules, $messages);
if ($validator->fails())
{
$this->throwValidationException($request, $validator);
}
}
然后只需将自定义消息作为第三个参数传递:
$rulesemail=['required'=>'Este campo es requerido.'];
$messages=['min'=>'Debe teclear al menos :min caracteres','required'=>'Favor de teclear su contraseña'];
$this->validate($request, [
'email' => 'required|email|max:60',
'password' => 'required|min:6'
], $messages);
请记住,您还可以在语言文件中globally define validation messages。此文件通常位于resources/lang/xx/validation.php
答案 1 :(得分:0)
validate()方法接受3个参数:
请求$ request,[$ errors],[$ messages]
以下是如何为验证条件自定义错误消息的示例:
$this->validate(
$request,
[
'first_name'=> 'required',
'last_name'=> 'required',
'email' => 'email',
'date_of_birth' => 'date_format:"Y-m-d"'
],
[
'date_format' => 'DOB'
]
);
PHPStorm提供了有用的工具提示,可以立即查看方法选项。