【发布时间】:2016-01-23 06:52:34
【问题描述】:
我制作了这个自定义验证类,CustomValidator.php:
<?php
namespace App;
use Illuminate\Validation\Validator;
class CustomValidator extends Validator{
public function validateRequiredWithOneOf($attribute, $value, $parameters)
{
$data = $this->getData();
foreach ($parameters as $p) {
if ( array_get($data,$p) != null) {return true;}
}
return false;
}
public function replaceRequiredWithOneOf($message, $attribute, $rule, $parameters)
{
return $this->replaceRequiredWith($message, $attribute, $rule, $parameters);
}
}
我打电话给我的CustomRequest.php
'input_field' => 'required_with_one_of:first,second,third',
如果选择了属性input_field,则还必须选择至少一个参数字段(first、second、third)。
如果我在AppServiceProvider.php 的boot() 方法中定义自定义验证,则一切正常,但如果我创建此CustomValidator 类并从AppServiceProvider.php 中删除代码,则一切正常。
这并不让我感到惊讶,因为我在 CustomRequest 班级中调用的是 Validator 而不是 CustomValidator。
我的CustomRequest 类扩展了Request 类,它扩展了FormRequest 类,其中Validator 在很多地方都被提及。我真的不知道从哪里开始。
如果需要,我可以在此处 c/p FormRequest 课程。
谁能帮我解决这个问题?
【问题讨论】:
标签: php validation laravel-5.1 custom-validators