在解释如何使用自定义验证程序时,Zizaco/confide的Laravel包的文档不是很具描述性。我希望能够在我的注册过程中验证名字,姓氏,地址,城市,州等字段,但是除了修改供应商包之外我还没有发现任何有用的东西。根据文档,我应该能够将其放在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
here。我发现this StackOverflow question但唯一的答案似乎不是“官方”解决方案,而Zizaco在Github上没有回复this question(是的,我确实尝试过该代码),所以我'我不知道还有什么可以尝试的。
有什么建议吗?
答案 0 :(得分:3)
我就是这样做的:
<?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',
]
];
}