自定义验证器在Laravel 5中

我将Laravel应用程序从4升级到5。但是,我有一个自定义验证器,无法使用。

在L4中,我制作了一个 validators.php 文件,并使用将其包含在 global.phprequire

app_path().'/validators.php';

我尝试在L5中做一些相同的事情。我在 app / Validators / Validators.php中 放置了一个验证 ,并更新了

composer.json

"files": [

"app/Validators/Validators.php"

]

但是,现在任何页面上都没有呈现。我做错了什么?

回答:

请尝试以下操作:

  1. 创建一个绑定类,您可以在其中实现要扩展的每个规则Validator
  2. 使服务提供商扩展ServiceProvider
  3. config/app.php文件中添加您的自定义验证程序提供程序。

您可以在以下Services文件夹中创建绑定:

namespace MyApp\Services;

class Validator extends \Illuminate\Validation\Validator{

public function validateFoo($attribute, $value, $parameters){

return $value == "foo"

}

}

然后,使用服务提供商来扩展核心:

namespace MyApp\Providers;

use MyApp\Services\Validator;

use Illuminate\Support\ServiceProvider;

class ValidatorServiceProvider extends ServiceProvider{

public function boot()

{

\Validator::resolver(function($translator, $data, $rules, $messages)

{

return new Validator($translator, $data, $rules, $messages);

});

}

public function register()

{

}

}

最后,按如下所示导入服务提供商config/app.php

'providers' => [

...

...

'MyApp\Providers\ValidatorServiceProvider';

]

以上是 自定义验证器在Laravel 5中 的全部内容, 来源链接: utcz.com/qa/408890.html

回到顶部