[英]Laravel 5: How to insert error custom messages array inside validate()
我想將我的驗證自定義消息插入到validate函數中,如下所示:
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
);
但是我無法使它工作。 有任何想法嗎?
您不能使用ValidatesRequests
特征中的默認validate()
。
但是,您可以在基本控制器中覆蓋該功能以更改該功能:
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);
請記住,您還可以在語言文件中全局定義驗證消息 。 該文件通常位於resources/lang/xx/validation.php
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提供了有用的工具提示,可立即查看方法選項。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.