Index: /branches/version-2_11-dev/data/class/pages/shopping/LC_Page_Shopping_Multiple.php
===================================================================
--- /branches/version-2_11-dev/data/class/pages/shopping/LC_Page_Shopping_Multiple.php (revision 21008)
+++ /branches/version-2_11-dev/data/class/pages/shopping/LC_Page_Shopping_Multiple.php (revision 21100)
@@ -96,6 +96,6 @@
break;
- default:
- $this->setParamToSplitItems($objFormParam, $objCartSess);
+ default:
+ $this->setParamToSplitItems($objFormParam, $objCartSess);
}
@@ -133,5 +133,5 @@
$objFormParam->addParam("メイン一覧画像", "main_list_image");
$objFormParam->addParam("販売価格", "price");
- $objFormParam->addParam("数量", 'quantity', INT_LEN, 'n', array("MAX_LENGTH_CHECK", "NUM_CHECK"), 1);
+ $objFormParam->addParam("数量", 'quantity', INT_LEN, 'n', array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"), 1);
$objFormParam->addParam("配送先住所", 'shipping', INT_LEN, 'n', array("MAX_LENGTH_CHECK", "NUM_CHECK"));
$objFormParam->addParam("カート番号", "cart_no", INT_LEN, 'n', array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
@@ -213,18 +213,21 @@
$objFormParam->convParam();
+ // 数量未入力は0に置換
+ $objFormParam->setValue('quantity', $objFormParam->getValue('quantity', 0));
+
$arrErr = $objFormParam->checkError();
- $arrKey = $objFormParam->getKeyList();
- unset($arrKey['line_of_num']);
$arrParams = $objFormParam->getSwapArray();
- foreach ($arrParams as $index => $arrParam) {
- // お届け先を選択していて、数量を入力していない
- if (!SC_Utils_Ex::isBlank($arrParam['shipping']) && SC_Utils_Ex::isBlank($arrParam['quantity'])) {
- $arrErr['quantity'][$index] = '※ 数量が入力されていません。
';
- }
- // 数量を入力していて、お届け先を選択していない
- if (!SC_Utils_Ex::isBlank($arrParam['quantity']) && SC_Utils_Ex::isBlank($arrParam['shipping'])) {
- $arrErr['shipping'][$index] = '※ お届け先が入力されていません。
';
+ if (empty($arrErr)) {
+ foreach ($arrParams as $index => $arrParam) {
+ // 数量0で、お届け先を選択している場合
+ if ($arrParam['quantity'] == 0 && !SC_Utils_Ex::isBlank($arrParam['shipping'])) {
+ $arrErr['shipping'][$index] = '※ 数量が0の場合、お届け先を入力できません。
';;
+ }
+ // 数量の入力があり、お届け先を選択していない場合
+ if ($arrParam['quantity'] > 0 && SC_Utils_Ex::isBlank($arrParam['shipping'])) {
+ $arrErr['shipping'][$index] = '※ お届け先が入力されていません。
';
+ }
}
}