我正在尝试在名为WBValidation
的类中实现并使用我自己的一些自定义验证方法,该类扩展Illuminate\Validation\Validator
我有这种方法validateCombinedRequired
:
class WBValidation extends Illuminate\Validation\Validator{
public function validateCombinedRequired($attribute,$value,$parameters){
return ( $this->validateRequired($attribute,$value) )
and ( $this->validateRequired($parameters[0],$this->data[$parameters[0]]) );
}
}
我已将此类放在libraries文件夹中。对于自动获取此类的框架,它可能会被提起,因为我可以在autoload_classmap.php
中看到它(我可能错了)。
当我尝试在我的模型中使用它时,我收到此错误,其中显示BadMethodCallException","message":"Method [validateCombinedRequired] does not exist
:
class UserModel extends Eloquent{
protected $table='user';
public static function VerifyUserAdd($data){
$rules = array('password'=>'required|combined_required:repassword');
// stuff
return Validator::make($data,$rules,$errormessages);
}
}
还有什么我应该做的吗?请帮帮我!
答案 0 :(得分:2)
您需要注册自定义的Validator扩展名:
Validator::resolver(function($translator, $data, $rules, $messages)
{
return new WBValidation($translator, $data, $rules, $messages);
});
我建议您阅读documentation,因为它涵盖了几个添加您自己的自定义验证规则。