Laravel与Confide - 自定义验证器不起作用


Laravel with Confide - Custom validator not working?

在解释如何使用自定义验证器时,Laravel 的 Zizaco/confide 包的文档描述性不强。我希望能够在注册过程中验证名字、姓氏、地址、城市、州等字段,但是除了修改供应商包之外,我没有找到任何有用的东西。根据文档,我应该能够将其放在app/models/AccountValidator.php

<?php
use Zizaco'Confide'UserValidatorInterface;
use Zizaco'Confide'ConfideUserInterface;
class AccountValidator implements UserValidatorInterface {
    public function validate(ConfideUserInterface $user) {
        unset($user->password_confirmation); // Because this column doesn't really exists.
        Log::info("Using a custom validator!");
        return true;
    }
}

并在app/start/global.php

App::bind('confide.user_validator', 'AccountValidator');
我尝试将

我的规则放在验证函数中以及外部,但没有运气,而不是验证任何内容,它会尝试将空值插入数据库。我也尝试了这里提到的composer dump-autoload。我找到了这个 StackOverflow 问题,但唯一的答案似乎不是"官方"解决方案,Zizaco 没有在 Github 上回复这个问题(是的,我也尝试了该代码),所以我不确定还能尝试什么。

有什么建议吗?

我是这样做的:

<?php
use Zizaco'Confide'UserValidator as ConfideUserValidator;
use Zizaco'Confide'UserValidatorInterface;
class UserValidator extends ConfideUserValidator implements UserValidatorInterface
{
    public $rules = [
        'create' => [
            'username' => 'required',
            'email'    => 'required|email',
            'password' => 'required|min:4',
        ],
        'update' => [
            'username' => 'required',
            'email'    => 'required|email',
            'password' => 'required|min:4',
        ]
    ];
}