我在像这样的服务提供商中添加了自定义验证规则
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
class ValidatorServiceProvider extends ServiceProvider {
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot() {
$this->app['validator']->extend('chk', function ($attribute, $value, $parameters) {
if(some_check){
return true;
}else{
//add error message
}
});
}
public function register() {
}
}
但我希望它添加错误消息而不是返回false,该怎么做?
答案 0 :(得分:0)
extend()
可以使用3个参数,第一个是验证名称,第二个是包含要验证的所有数据的函数,第三个是允许错误消息的函数,所以你可以通过以下方式完成:
$this->app['validator']->extend('chk', function ($attribute, $value, $parameters) {
if (some_check) {
return true;
} else {
return false;
}
}, ':attribute field error.');
验证需要返回布尔值,true将传递验证,false将触发错误消息。 :attribute
是字段名称的占位符。您也可以将自定义错误消息添加到resources/lang/en/validation.php
文件中。因此,不仅要将它们保存在一个地方,如果您的应用程序有多种语言选项,它也会对您有所帮助。