Exemplo n.º 1
0
 /**
  * 入力エラーチェック.
  *
  * @param FormParam $objFormParam
  * @return array $objErr->arrErr エラー内容
  */
 public function lfCheckError(&$objFormParam, TaxRuleHelper &$objTaxRule)
 {
     $arrErr = $objFormParam->checkError();
     $arrForm = $objFormParam->getHashArray();
     /* @var $objErr CheckError */
     $objErr = Application::alias('eccube.check_error', $arrForm);
     // tax_rule_id の正当性チェック
     if (!empty($arrForm['tax_rule_id'])) {
         if (!Utils::sfIsInt($arrForm['tax_rule_id']) || !$objTaxRule->getTaxRuleData($arrForm['tax_rule_id'])) {
             // tax_rule_idが指定されていて、且つその値が不正と思われる場合はエラー
             $arrErr['tax_rule_id'] = '※ 税規約IDが不正です<br />';
         }
     }
     // 適用日時チェック
     $objErr->doFunc(array('適用日時', 'apply_date_year', 'apply_date_month', 'apply_date_day'), array('CHECK_DATE'));
     if (Utils::isBlank($objErr->arrErr['apply_date_year']) && $arrForm['tax_rule_id'] != '0') {
         $apply_date = Utils::sfGetTimestampistime($arrForm['apply_date_year'], sprintf("%02d", $arrForm['apply_date_month']), sprintf("%02d", $arrForm['apply_date_day']), sprintf("%02d", $arrForm['apply_date_hour']), sprintf("%02d", $arrForm['apply_date_minutes']));
         // 税規約情報読み込み
         $arrTaxRuleByTime = $objTaxRule->getTaxRuleByTime($apply_date);
         // 編集中のレコード以外に同じ消費税率、課税規則が存在する場合
         if (!Utils::isBlank($arrTaxRuleByTime) && $arrTaxRuleByTime['tax_rule_id'] != $arrForm['tax_rule_id'] && $arrTaxRuleByTime['apply_date'] == $apply_date) {
             $arrErr['apply_date'] = '※ 既に同じ適用日時で登録が存在します。<br />';
         }
     }
     if (!Utils::isBlank($objErr->arrErr)) {
         $arrErr = array_merge($arrErr, $objErr->arrErr);
     }
     return $arrErr;
 }