简体   繁体   English

如何验证fuelphp中的多维数组?

[英]How to validate multi-dimensional array in fuelphp?

the form input is like below: 表单输入如下:

<input type="input" name="order_item[quantity][]" value="1">
<input type="hidden" value="22" name="order_item[item_sku_id][]">

<input type="input" name="order_item[quantity][]" value="1">
<input type="hidden" value="25" name="order_item[item_sku_id][]">

<input type="input" name="order_item[quantity][]" value="1">
<input type="hidden" value="23" name="order_item[item_sku_id][]">

<input type="input" name="order_item[quantity][]" value="1">
<input type="hidden" value="65" name="order_item[item_sku_id][]">

and the validate rule is this: 验证规则是这样的:

$valid->add('order_item[quantity]', __('model.order_item.quantity'))   
->add_rule('required');

it seems the validation rule above doesn't work!How to validate such a multi-dimensional array? 似乎上面的验证规则不起作用!如何验证这样的多维数组? thanks a lot! 非常感谢!

Edit1: EDIT1:

of course,there is another variable item_sku_id to make every order_item unique. 当然,还有另一个变量item_sku_id使每个order_item唯一。

    if (isset($data['order_item'])) {
        foreach ($data['order_item']['quantity'] as $index => $order_item) {
            $valid->add('order_item[quantity][' . $index . ']', __('model.order_item.quantity'))
                ->add_rule('valid_string', array('numeric'))
                ->add_rule('required');
            $valid->add('order_item[item_sku_id][' . $index . ']', __('model.order_item.item_sku_id'))
                ->add_rule('valid_string', array('numeric'))
                ->add_rule('required');
        }
    }

Solved,In this way, the multi-dimensional array can be validated. 解决了,以此方式可以验证多维数组。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM