Php Laravel 4自定义验证-[method]不存在
我试图在一个名为Php Laravel 4自定义验证-[method]不存在,php,validation,laravel,laravel-4,Php,Validation,Laravel,Laravel 4,我试图在一个名为WBValidation的类中实现并使用我自己的两个自定义验证方法,该类扩展了illighted\validation\Validator 我有这个方法validateCombinedRequired: class WBValidation extends Illuminate\Validation\Validator{ public function validateCombinedRequired($attribute,$value,$parameters){
WBValidation
的类中实现并使用我自己的两个自定义验证方法,该类扩展了illighted\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:“方法[validateCombinedRequired]不存在
:
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);
}
}
还有什么我应该做的吗?请帮帮我 您需要注册自定义验证程序扩展:
Validator::resolver(function($translator, $data, $rules, $messages)
{
return new WBValidation($translator, $data, $rules, $messages);
});
我建议阅读本手册,因为它涵盖了几个方面,其中包括添加您自己的自定义验证规则。您可以在
start/global.php
中执行此操作。太棒了,这很有效。顺便问一下,除了validator:extend({})之外,还有没有更简洁的方法来进行自定义验证代码>?