我想使用自定義驗證錯誤消息創建自定義驗證規則。爲此,我創建了一個規則:Laravel 5.2具有自定義驗證功能的自定義驗證消息
$rule => [
'app_id' => 'isValidTag'
]
而對於自定義消息:
$message => [
app_id.isValidTag => 'Not a Valid id'
];
之後,我創建了服務提供者:
class CustomValidationServiceProvider extends ServiceProvider
{
public function boot() {
//parent::boot();
$this->app->validator->resolver(function($transator,$data,$rules,$messages){
return new CustomValidator($transator,$data,$rules,$messages);
});
}
}
而且我的自定義驗證類是:
class CustomValidator extends Validator {
if(empty($parameters)) {
return true;
}
$conext = $parameters[0];
$tag = Tag::where('id', $value)->where('context', $conext)->get();
$flag = false;
if($tag->count() > 0) {
$flag = true;
}
return $flag;
}
全部工作正常t問題是我的自定義消息app_id.isValidTag
不工作,即使所有其他消息都正常工作。
請告訴我我在這裏或在Laravel 5.2中丟失的信息,顯示信息有一些變化。任何想法將不勝感激。
您還可以添加錯誤信息直接在函數中使用''validator-> setCustomMessage(['。 '=>'<錯誤信息>'])'' –
arleslie
@ user3632055如果你在那裏我需要一點幫助 – lewis4u
@ lewis4u whats up? – user3632055