我已经在我的形式,像一些地区其命名为:Laravel审定阵列
<ul>
<li>
<input type="checkbox" name="post_categories[]" value="16">English First Main Category<br>
<ul>
<li><input type="checkbox" name="post_categories[]" value="17">English First Subcategory<br></li>
</ul>
</li>
</ul>
当我试图验证他们为必填字段或别的东西,Laravel未通过验证的规则。我的规则类似下面(在/application/models/posts.php):
public static $rules = array(
'post_title' => 'required',
'post_body' => 'required',
'content_language'=>'required|alpha',
'post_categories'=>'array_numeric',
'post_sequence_number'=>'numeric'
);
public static function validate($data){
return Validator::make($data, static::$rules);
}
在/application/library/validate.php我是验证阵列功能是数字或不:
Class Validator extends Laravel\Validator {
public function validate_array_numeric($attribute, $value, $parameters){
$numeric_values = array_filter($value, create_function('$item', 'return (is_numeric($item));'));
return count($numeric_values) == count($value);
}
}
除了post_categories []之外,规则完美地起作用。我收到错误:
Method [array_numeric] does not exist.
干杯。
我会尝试先解开他们,然后删除方括号。可能是Laravel框架中的一个错误? – Geo
试过...我想是的,有一个bug ... –
另一个想法是,他们是两个同名的输入。这是正确的吗? – Geo