Ignore:
Timestamp:
2011/04/16 04:05:51 (13 years ago)
Author:
Seasoft
Message:

#871 (メールアドレスの文字長チェックにバラツキ)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_11-dev/data/class/SC_CheckError.php

    r20764 r20848  
    608608    } 
    609609 
    610     /* メールアドレス形式の判定 */ 
    611     // メールアドレスを正規表現で判定する 
    612     // value[0] = 項目名 value[1] = 判定対象メールアドレス 
     610    /** 
     611     * メールアドレス形式の判定 
     612     * 
     613     * @param array $value 各要素は以下の通り。<br> 
     614     *     [0]: 項目名<br> 
     615     *     [1]: 判定対象を格納している配列キー 
     616     * @return void 
     617     */ 
    613618    function EMAIL_CHECK( $value ){ 
    614619        if(isset($this->arrErr[$value[1]])) { 
    615620            return; 
    616621        } 
    617         $this->createParam($value); 
     622 
     623        $this->createParam($value); 
     624 
     625        // 入力がない場合処理しない 
     626        if (strlen($this->arrParam[$value[1]]) === 0) { 
     627            return; 
     628        } 
    618629 
    619630        $wsp           = '[\x20\x09]'; 
     
    641652        } 
    642653 
    643         if(strlen($this->arrParam[$value[1]]) > 0 && !preg_match($regexp, $this->arrParam[$value[1]])) { 
     654        if (!preg_match($regexp, $this->arrParam[$value[1]])) { 
    644655            $this->arrErr[$value[1]] = "※ " . $value[0] . "の形式が不正です。<br />"; 
    645         } 
     656            return; 
     657        } 
     658 
     659        // 最大文字数制限の判定 (#871) 
     660        $arrValueTemp = $value; 
     661        $arrValueTemp[2] = 256; 
     662        $this->MAX_LENGTH_CHECK($arrValueTemp); 
    646663    } 
    647664 
Note: See TracChangeset for help on using the changeset viewer.