这是我一直收到的错误:反射异常类验证器不存在这是导致问题的代码:
use Illuminate\Support\ServiceProvider;
class DeskServiceProvider extends ServiceProvider
{
/**
* Register bindings
*
* @return void
*/
public function register()
{
$this->repositories();
$this->app->bind('Desk\Forms\MessageForm', function($app) {
$validator = $app->make('validator')->make([], []);
return new \Desk\Forms\MessageForm($validator);
});
}
}
我现在知道我需要添加一个Validator类,但我不确定放在哪里或放什么。谢谢你的帮助。
答案 0 :(得分:0)
您的问题和您的代码一样令人困惑。如果看起来你正在尝试绑定服务。
$this->app->bind('Desk\Forms\MessageForm'
但是,您不是要告诉Laravel您要用来标识服务的服务名称(例如db
或message_form
等),而是传递一个类名({{1 }})。
然后,您正在使用应用程序的Desk\Forms\MessageForm
工厂来实例化make
对象。目前尚不清楚您是否尝试使用validator
从名为make
的类中实例化对象,或者您是否尝试从名为Validator
的服务实例化服务对象。如果是后者,则表示您的应用程序中不存在validator
服务。如果是前者,它看起来不像一个名为validator
的类被定义为Laravel可以自动加载的任何地方。
关于下一个显而易见的问题:Laravel可以从哪里自动加载,你要么在编辑器包的Validator
文件夹中想要这个Validator
类,以PSR有效的方式命名。如果你没有使用作曲家,这是一个本地应用程序,最简单的办法是删除文件
src
但是,如果您尝试使用内置的Laravel Validator service facade/object,那么您的问题也不清楚。一个更好的问题可能会产生更好的答案。 (可能有兴趣和自我链接,我正在撰写一系列解释the Laravel application container的文章,你可能会发现这些文章很有用。)。