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:
of course,there is another variable item_sku_id
to make every order_item unique.
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.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.