форма ввода как ниже:
<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][]">
и правило проверки таково:
$valid->add('order_item[quantity]', __('model.order_item.quantity'))
->add_rule('required');
Кажется, вышеприведенное правило проверки не работает! Как проверить такой многомерный массив?
большое спасибо!
Edit1:
конечно, есть еще одна переменная 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');
}
}
Решено, Таким образом, многомерный массив может быть проверен.
Других решений пока нет …