/** * 入力エラーチェック. * * @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; }