我正在使用dwightwatson/validating包在模型中创建验证规则。
我特别喜欢您可以为不同路线创建的自定义规则集。
模型
protected $rulesets = [
'set_up_all' => [
'headline' => 'required|max:100',
'description' => 'required'
],
'set_up_property' => [
'pets' => 'required'
],
'set_up_room' => [
'residents_gender' => 'required',
'residents_smoker' => 'required'
],
'set_up_roommate' => [
'personal_gender' => 'required',
'personal_smoker' => 'required'
]
];
控制器
$post = new Post(Input::all());
if($post->isValid('set_up_all', false)) {
return 'It passed validation';
} else {
return 'It failed validation';
}
在上面的示例中,它在针对set_up_all规则集进行验证时效果很好。现在我想组合几个规则集并一起验证它们。
根据文档,该包提供了一种合并规则集的方法。我只是不知道如何将提供的示例集成到我当前的流程中。
根据文档,我需要实现这一行:
$mergedRules = $post->mergeRulesets('set_up_all', 'set_up_property_room', 'set_up_property');
这是我的尝试,但没有奏效:
if($mergedRules->isValid()) { ...
我收到以下错误:
调用数组上的成员函数 isValid()
我也试过这个,但也没有用:
if($post->isValid($mergedRules)) { ...
我收到以下错误:
array_key_exists():第一个参数应该是字符串或整数
关于如何实施合并规则集的任何建议?