复选框的laravel验证

时间:2014-05-04 09:31:00

标签: javascript php laravel

我如何验证'我的表单中的两个复选框中至少有一个已经过检查' 我知道其他方式,但我想知道是否有验证规则这在laravel?

2 个答案:

答案 0 :(得分:1)

Laravel中,有一种方法可以要求使用accepted检查复选框字段,它的作用是,验证字段必须为yes,on或1. / p>

但您有不同的要求,在这种情况下,您可以使用以下内容添加自定义rule

// You may keep this code in your class before validation inside the method
Validator::extend('isOneChecked', function($attribute, $value, $parameters)
{
    return ($value || Input::has($parameters[0])) ? TRUE : FALSE;
});

现在您可以使用此rule,例如,如果您的某个复选框的名称为checkbox1,而另一个名称为checkbox2,则使用以下内容:

$rules = array (
    // other rules...
    'checkbox1' => 'isOneChecked:checkbox2',
);

答案 1 :(得分:1)

是的,我认为这就是你要找的东西:

$rules = array(
    'checkbox1' => 'required_without:checkbox2', //require if checkbox2 miss
    'checkbox2' => 'required_without:checkbox1', //require if checkbox1 miss
);

因此,如果错过了两个复选框,验证器将失败。

  
    

<强> required_without:FOO,酒吧,...     只有在不存在任何其他指定字段时,才能使用验证字段。

  

Doc