我已在CustomRequest
中编写此函数规则来检查在提供程序中定义的checkHackInputUser规则:
其实我想检查路线中传递的值
例如:
http://www.somedomain.com/user/{id}
我在这个$ id变量上做了什么操作 使用我的checkHackInputUser规则
这是CustomRequest:
public function rules()
{
$request_id = $this->route('user');
$rules = [];
if($this->method() == "DELETE" || $this->method() == "GET" )
$rules = [
'role_list' => 'required|checkHackInputUser:'.$request_id,
];
return $rules;
}
问题是,如果我删除rule(checkHackInputUser)
角色,则此required
无效。
这是提供者中的checkHackInputUser验证函数:
public function boot()
{
$this->app['validator']->extend('checkHackInputUser',function($attr,$value,$params){
//Some validation
return false or true;
});
}
答案 0 :(得分:-1)
使用sometimes
时,您可以conditionally validate输入。
在某些情况下,只有在输入数组中存在该字段时,您可能希望对字段运行验证检查。要快速完成此操作,请将有时规则添加到规则列表中:
$ v = Validator :: make($ data,[ 'email'=> “有时候|需要|电子邮件”, ]);