我已經在我的形式,像一些地區其命名爲: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