[英]laravel 5.1 form validation with foreach
在我的应用程序中,管理员可以添加categories
和subcategories
。 每个category/subcategory
都有一个id
, name
和slug
。 然后,用户可以添加article
并选择是否要向该用户添加category
和/或subcategory
。
这是通过看起来像这样的输入表单完成的
O - Add category 1 subcategories
O - Add category 2 subcategories
其中O是复选框。 单击O - add category x subcategories
将打开以下子类别列表:
O - Add category 1 subcategories
----O - 1st subcat
----O - 2nd subcat
----O - 3rd subcat
O - Add category 2 subcategories
----O - 1st subcat
----O - 2nd subcat
----O - 3rd subcat
输入ID分别为category1slug[subcategory1slug]
, category1slug[subcategory2slug]
等。 它们以foreach
循环的形式呈现为
foreach ( $categories as $category) { input field }
现在,我要验证这些条目,如下所示。 如果选择O - Add category 1 subcategories
字段,则我希望至少选择一个子类别。 我完成的自定义验证在这里:
但是,我不知道如何将其应用于所有类别。 我想获得如下验证:
'category1slug' => 'required_with_one_of:category1slug.subcategory1slug,category1slug.subcategory2slug,category1slug.subcategory3slug',
'category2slug' => 'required_with_one_of:category2slug.subcategory3slug,category2slug.subcategory4slug,category2slug.subcategory5slug',
'category3slug' => 'required_with_one_of:category3slug.subcategory6slug,category3slug.subcategory7slug,category3slug.subcategory8slug',
但是我不想每次都手动添加它们,因为数据已经在数据库中。 另外,如果我必须手动添加它们,则每次管理员添加新类别或子类别时,或者当他更改子类别/类别关系时,我都必须下降到routes.php
。
在Request
文件中有
public function rules()
{
return [];
}
返回数组。 返回数组为:
public function rules()
{
$therulesarray = [];
foreach ( $categories as $category) {
//desired logic here
$therulesarray['attribute'] = 'rulestoapply'; //this will add new element in $therulesarray that our function rules() returns;
}
return $therulesarray;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.