Exemple #1
0
 protected function beforeValidate()
 {
     $detailError = false;
     $this->aModelDetail = array();
     if (isset($_POST['FiInvoiceDetail']['id']) && is_array($_POST['FiInvoiceDetail']['id']) && count($_POST['FiInvoiceDetail']['id'])) {
         foreach ($_POST['FiInvoiceDetail']['id'] as $key => $pk) {
             $amount = isset($_POST['FiInvoiceDetail']['amount'][$key]) ? $_POST['FiInvoiceDetail']['amount'][$key] : 0;
             $mDetail = new FiInvoiceDetail('validate_detail');
             $mDetail->id = $pk;
             $mDetail->amount = $amount;
             $mDetail->validate();
             if (!empty($pk)) {
                 $this->aModelDetail[] = $mDetail;
             }
             if ($mDetail->hasErrors()) {
                 $detailError = true;
             }
         }
     }
     if (count($this->aModelDetail) < 1) {
         $this->addError('aModelDetail', 'Details can not be blank');
         $this->aModelDetail = array(new FiInvoiceDetail());
     }
     if ($detailError) {
         $this->addError('aModelDetail', 'Details error');
     }
     return parent::beforeValidate();
 }