自定义验证器在Laravel 5中
我将Laravel应用程序从4升级到5。但是,我有一个自定义验证器,无法使用。
在L4中,我制作了一个 validators.php 文件,并使用将其包含在 global.php 中require
app_path().'/validators.php';。
我尝试在L5中做一些相同的事情。我在 app / Validators / Validators.php中 放置了一个验证 器 ,并更新了
composer.json 。
"files": [ "app/Validators/Validators.php"
]
但是,现在任何页面上都没有呈现。我做错了什么?
回答:
请尝试以下操作:
- 创建一个绑定类,您可以在其中实现要扩展的每个规则
Validator
。 - 使服务提供商扩展
ServiceProvider
。 - 在
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