Ticket #556 (closed バグ指摘: 修正済)

Opened 11 years ago

Last modified 11 years ago

電話番号の桁数チェックが3項目個別に行われていて意味を成していない

Reported by: kishik Owned by: Yammy
Priority: Milestone: EC-CUBE2.4.3
Component: その他 Version: 2.4.1
Keywords: Cc:
修正済み:

Description

data/class/SC_CheckError.php において、

    /* 電話番号の判定 (数字チェックと文字数チェックを実施する。)
        value[0] : 項目名
        value[1] : 電番1項目目
        value[2] : 電番2項目目
        value[3] : 電番3項目目
        value[4] : 文字数制限
    */
    function TEL_CHECK($value) {
        if(isset($this->arrErr[$value[1]])) {
            return;
        }
        $this->createParam($value);
        $cnt = 0;

        for($i = 1; $i <= 3; $i++) {
            if(strlen($this->arrParam[$value[$i]]) > 0) {
                $cnt++;
            }
        }

        // すべての項目が満たされていない場合を判定(一部だけ入力されてい
る状態)
        if($cnt > 0 && $cnt < 3) {
            $this->arrErr[$value[1]] .= "※ " . $value[0] . "はすべての項
目を入力してください。<br />";
        }

        for($i = 1; $i <= 3; $i++) {
            if(strlen($this->arrParam[$value[$i]]) > 0 &&
strlen($this->arrParam[$value[$i]]) > $value[4]) {
                $this->arrErr[$value[$i]] .= "※ " . $value[0] . $i . "は
" . $value[4] . "字以内で入力してください。<br />";
            } else if (strlen($this->arrParam[$value[$i]]) > 0 &&
!EregI("^[[:digit:]]+$", $this->arrParam[$value[$i]])) {
                $this->arrErr[$value[$i]] .= "※ " . $value[0] . $i . "は
数字で入力してください。<br />";
            }
        }
    }

3項目それぞれについてチェックはしているが、 3項目を合わせた文字数チェック(11桁)となるべき。

Change History

comment:1 Changed 11 years ago by Yammy

  • Owner changed from somebody to Yammy
  • Status changed from new to assigned

3項目の合計文字数と、定数 TEL_LEN (電話番号総数)を比較するようにする

comment:2 Changed 11 years ago by Yammy

  • Status changed from assigned to closed
  • Resolution set to 修正済

r18466 としてコミット

comment:3 Changed 11 years ago by nanasess

r18517 で version-2_4 へマージ

Note: See TracTickets for help on using tickets.