From 04af52ad057d96b2d2d0d6b9d197ae25bd190a2f Mon Sep 17 00:00:00 2001 From: Seasoft Date: Tue, 21 Jan 2025 17:12:54 +0900 Subject: [PATCH] =?UTF-8?q?PREF=5FCHECK=20SC=5FDB=5FMasterData=20=E3=82=92?= =?UTF-8?q?=E4=BD=BF=E3=81=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 都度のDB問い合わせを避ける。 PostgreSQL で発生していた制御文字のDBエラー回避を兼ねる。https://github.com/EC-CUBE/ec-cube2/pull/1157#issuecomment-2603750893 SC_Helper_Customer::sfCustomerCommonParam() PREF_CHECK を後回しにした。前述の変更により、必然性は低下したが、妥当と考える。 --- data/class/SC_CheckError.php | 5 ++--- data/class/helper/SC_Helper_Customer.php | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/data/class/SC_CheckError.php b/data/class/SC_CheckError.php index 0cbf039b27..95aeccbc03 100644 --- a/data/class/SC_CheckError.php +++ b/data/class/SC_CheckError.php @@ -1861,9 +1861,8 @@ public function PREF_CHECK($value) $this->createParam($value); - $objQuery = SC_Query_Ex::getSingletonInstance(); - $exists = $objQuery->exists('mtb_pref', 'id = ?', [$pref_id]); - if (!$exists) { + $arrPref = (new SC_DB_MasterData_Ex())->getMasterData('mtb_pref'); + if (!isset($arrPref[$pref_id])) { $this->arrErr[$key] = '※ '.$disp.'が不正な値です。
'; } } diff --git a/data/class/helper/SC_Helper_Customer.php b/data/class/helper/SC_Helper_Customer.php index 0e1167d81f..352d3fe0cf 100644 --- a/data/class/helper/SC_Helper_Customer.php +++ b/data/class/helper/SC_Helper_Customer.php @@ -406,7 +406,7 @@ public static function sfCustomerCommonParam(&$objFormParam, $prefix = '') $objFormParam->addParam('郵便番号1', $prefix.'zip01', ZIP01_LEN, 'n', ['EXIST_CHECK', 'SPTAB_CHECK', 'NUM_CHECK', 'NUM_COUNT_CHECK']); $objFormParam->addParam('郵便番号2', $prefix.'zip02', ZIP02_LEN, 'n', ['EXIST_CHECK', 'SPTAB_CHECK', 'NUM_CHECK', 'NUM_COUNT_CHECK']); $objFormParam->addParam('国', $prefix.'country_id', INT_LEN, 'n', ['NUM_CHECK']); - $objFormParam->addParam('都道府県', $prefix.'pref', INT_LEN, 'n', ['PREF_CHECK', 'EXIST_CHECK', 'NUM_CHECK']); + $objFormParam->addParam('都道府県', $prefix.'pref', INT_LEN, 'n', ['EXIST_CHECK', 'NUM_CHECK', 'PREF_CHECK']); } else { $objFormParam->addParam('お名前(フリガナ・姓)', $prefix.'kana01', STEXT_LEN, 'CKV', ['NO_SPTAB', 'SPTAB_CHECK', 'MAX_LENGTH_CHECK', 'KANA_CHECK']); $objFormParam->addParam('お名前(フリガナ・名)', $prefix.'kana02', STEXT_LEN, 'CKV', ['NO_SPTAB', 'SPTAB_CHECK', 'MAX_LENGTH_CHECK', 'KANA_CHECK']);