【发布时间】:2016-01-04 15:23:12
【问题描述】:
我一直在 Laravel 中对我的表单使用以下验证:
public function isValid($data, $rules)
{
$validation = Validator::make($data, $rules);
if($validation->passes()){
return true;
}
$this->messages = $validation->messages();
return false;
}
传递给它的规则很简单:
$rules = [
'name' => 'required',
'type' => 'required'
];
而$data 是输入的帖子数据。现在我需要为此添加一个自定义验证扩展,特别是要确保输入字段round2 的值大于输入字段round1 的值。查看文档,我尝试了以下我认为应该正确的语法,但我一直收到错误。
$validation->extend('manual_capture', function($attribute, $value, $parameters)
{
return $value > $parameters[0];
});
然后我可以用$attribute = 'round1'、$value = $data['round1'] 和$parameters = [$data['round2']] 调用它。
错误是Method [extend] does not exist. - 我不确定我对整个概念的理解是否正确,那么有人可以告诉我如何让它发挥作用吗?文档只有大约 2 段关于此的内容。
【问题讨论】:
-
@chba 这是 Laravel 4.2 ......而且我已经阅读了文档,我不明白为什么我的方式不应该工作。
标签: php validation laravel laravel-4