Changeset 23577


Ignore:
Timestamp:
2014/07/20 11:43:50 (10 years ago)
Author:
shutta
Message:

#2448 (typo修正・ソース整形・ソースコメントの改善 for 2.13.3)
可読性を向上

File:
1 edited

Legend:

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

    r23570 r23577  
    5353     * HTMLのタグをチェックする 
    5454     * 
    55      * @param  array $value value[0] = 項目名 value[1] = 判定対象 value[2] = 許可するタグが格納された配列 
     55     * @param  array $value value[0] = 項目名 
     56     *                      value[1] = 判定対象 
     57     *                      value[2] = 許可するタグが格納された配列 
    5658     * @return void 
    5759     */ 
    5860    public function HTML_TAG_CHECK($value) 
    5961    { 
    60         if (isset($this->arrErr[$value[1]])) { 
    61             return; 
    62         } 
    63         $this->createParam($value); 
     62        $disp_name = $value[0]; 
     63        $keyname = $value[1]; 
     64        $arrAllowedTag = $value[2]; 
     65 
     66        if (isset($this->arrErr[$keyname])) { 
     67            return; 
     68        } 
     69 
     70        $this->createParam($value); 
     71 
    6472        // HTMLに含まれているタグを抽出する 
    65         $arrTagIncludedHtml = array(); 
    66         preg_match_all('/<\/?([a-z]+)/i', $this->arrParam[$value[1]], $arrTagIncludedHtml); 
     73        $match = array(); 
     74        preg_match_all('/<\/?([a-z]+)/i', $this->arrParam[$keyname], $match); 
     75        $arrTagIncludedHtml = $match[1]; 
    6776        // 抽出結果を小文字に変換 
    68         foreach ($arrTagIncludedHtml[1] as $key => $matchedTag) { 
    69             $arrTagIncludedHtml[1][$key] = strtolower($matchedTag); 
    70         } 
    71         $arrDiffTag = array_diff($arrTagIncludedHtml[1], $value[2]); 
     77        foreach ($arrTagIncludedHtml as $key => $matchedTag) { 
     78            $arrTagIncludedHtml[$key] = strtolower($matchedTag); 
     79        } 
     80        $arrDiffTag = array_diff($arrTagIncludedHtml, $arrAllowedTag); 
    7281 
    7382        if (empty($arrDiffTag)) return; 
     
    7988        $html_diff_tag_list = implode(', ', $arrDiffTag); 
    8089 
    81         $this->arrErr[$value[1]] = '※ ' . $value[0] . 'に許可されていないタグ ' . $html_diff_tag_list . ' が含まれています。<br />'; 
     90        $this->arrErr[$keyname] = sprintf( 
     91            '※ %sに許可されていないタグ %s が含まれています。<br />', 
     92            $disp_name, 
     93            $html_diff_tag_list 
     94        ); 
    8295    } 
    8396 
     
    91104    public function EXIST_CHECK($value) 
    92105    { 
    93         if (isset($this->arrErr[$value[1]])) { 
    94             return; 
    95         } 
    96         $this->createParam($value); 
    97         if (!is_array($this->arrParam[$value[1]]) && strlen($this->arrParam[$value[1]]) == 0) { 
    98             $this->arrErr[$value[1]] = '※ ' . $value[0] . 'が入力されていません。<br />'; 
    99         } elseif (is_array($this->arrParam[$value[1]]) && count($this->arrParam[$value[1]]) == 0) { 
    100             $this->arrErr[$value[1]] = '※ ' . $value[0] . 'が選択されていません。<br />'; 
     106        $disp_name = $value[0]; 
     107        $keyname = $value[1]; 
     108 
     109        if (isset($this->arrErr[$keyname])) { 
     110            return; 
     111        } 
     112 
     113        $this->createParam($value); 
     114 
     115        $input_var = $this->arrParam[$keyname]; 
     116        if (is_array($input_var)) { 
     117            if (count($input_var) == 0) { 
     118                $this->arrErr[$keyname] = 
     119                    "※ {$disp_name}が選択されていません。<br />"; 
     120            } 
     121        } else { 
     122            if (strlen($input_var) == 0) { 
     123                $this->arrErr[$keyname] = 
     124                    "※ {$disp_name}が入力されていません。<br />"; 
     125            } 
    101126        } 
    102127    } 
     
    111136    public function EXIST_CHECK_REVERSE($value) 
    112137    { 
    113         if (isset($this->arrErr[$value[0]])) { 
    114             return; 
    115         } 
     138        $keyname = $value[0]; 
     139        $disp_name = $value[1]; 
     140 
     141        if (isset($this->arrErr[$keyname])) { 
     142            return; 
     143        } 
     144 
    116145        // $this->createParam($value); 
    117         if (strlen($this->arrParam[$value[0]]) == 0) { 
    118             $this->arrErr[$value[0]] = '※ ' . $value[1] . 'が入力されていません。<br />'; 
     146 
     147        if (strlen($this->arrParam[$keyname]) == 0) { 
     148            $this->arrErr[$keyname] = 
     149                "※ {$disp_name}が入力されていません。<br />"; 
    119150        } 
    120151    } 
     
    129160    public function SPTAB_CHECK($value) 
    130161    { 
    131         if (isset($this->arrErr[$value[1]])) { 
    132             return; 
    133         } 
    134         $this->createParam($value); 
    135         if (strlen($this->arrParam[$value[1]]) != 0 && preg_match("/^[  \t\r\n]+$/", $this->arrParam[$value[1]])) { 
    136             $this->arrErr[$value[1]] = '※ ' . $value[0] . 'にスペース、タブ、改行のみの入力はできません。<br />'; 
     162        $disp_name = $value[0]; 
     163        $keyname = $value[1]; 
     164 
     165        if (isset($this->arrErr[$keyname])) { 
     166            return; 
     167        } 
     168 
     169        $this->createParam($value); 
     170 
     171        $input_var = $this->arrParam[$keyname]; 
     172        if (strlen($input_var) != 0 
     173            && preg_match("/^[  \t\r\n]+$/", $input_var) 
     174        ) { 
     175            $this->arrErr[$keyname] = sprintf( 
     176                '※ %sにスペース、タブ、改行のみの入力はできません。<br />', 
     177                $disp_name 
     178            ); 
    137179        } 
    138180    } 
     
    147189    public function NO_SPTAB($value) 
    148190    { 
    149         if (isset($this->arrErr[$value[1]])) { 
    150             return; 
    151         } 
    152         $this->createParam($value); 
    153         if (strlen($this->arrParam[$value[1]]) != 0 && preg_match("/[  \t\r\n]+/u", $this->arrParam[$value[1]])) { 
    154             $this->arrErr[$value[1]] = '※ ' . $value[0] . 'にスペース、タブ、改行は含めないで下さい。<br />'; 
    155         } 
    156     } 
    157  
    158     /* ゼロで開始されている数値の判定 */ 
     191        $disp_name = $value[0]; 
     192        $keyname = $value[1]; 
     193 
     194        if (isset($this->arrErr[$keyname])) { 
     195            return; 
     196        } 
     197 
     198        $this->createParam($value); 
     199 
     200        $input_var = $this->arrParam[$keyname]; 
     201        if (strlen($input_var) != 0 
     202            && preg_match("/[  \t\r\n]+/u", $input_var) 
     203        ) { 
     204            $this->arrErr[$keyname] = sprintf( 
     205                '※ %sにスペース、タブ、改行は含めないで下さい。<br />', 
     206                $disp_name 
     207            ); 
     208        } 
     209    } 
     210 
     211    /** 
     212     * ゼロで開始されている数値の判定 
     213     * 
     214     * ゼロで始まる数値の場合エラーを返す 
     215     * @param  array $value value[0] = 項目名 value[1] = 判定対象 
     216     * @return void 
     217     */ 
    159218    public function ZERO_START($value) 
    160219    { 
    161         if (isset($this->arrErr[$value[1]])) { 
    162             return; 
    163         } 
    164         $this->createParam($value); 
    165         if (strlen($this->arrParam[$value[1]]) != 0 && preg_match("/^[0]+[0-9]+$/", $this->arrParam[$value[1]])) { 
    166             $this->arrErr[$value[1]] = '※ ' . $value[0] . 'に0で始まる数値が入力されています。<br />'; 
     220        $disp_name = $value[0]; 
     221        $keyname = $value[1]; 
     222 
     223        if (isset($this->arrErr[$keyname])) { 
     224            return; 
     225        } 
     226 
     227        $this->createParam($value); 
     228 
     229        $input_var = $this->arrParam[$keyname]; 
     230        if (strlen($input_var) != 0 
     231            && preg_match("/^[0]+[0-9]+$/", $input_var) 
     232        ) { 
     233            $this->arrErr[$keyname] = 
     234                "※ {$disp_name}に0で始まる数値が入力されています。<br />"; 
    167235        } 
    168236    } 
     
    177245    public function SELECT_CHECK($value) 
    178246    { 
    179         if (isset($this->arrErr[$value[1]])) { 
    180             return; 
    181         } 
    182         $this->createParam($value); 
    183         if (strlen($this->arrParam[$value[1]]) == 0) { 
    184             $this->arrErr[$value[1]] = '※ ' . $value[0] . 'が選択されていません。<br />'; 
     247        $disp_name = $value[0]; 
     248        $keyname = $value[1]; 
     249 
     250        if (isset($this->arrErr[$keyname])) { 
     251            return; 
     252        } 
     253 
     254        $this->createParam($value); 
     255 
     256        if (strlen($this->arrParam[$keyname]) == 0) { 
     257            $this->arrErr[$keyname] = 
     258                "※ {$disp_name}が選択されていません。<br />"; 
    185259        } 
    186260    } 
     
    190264     * 
    191265     * 入力が指定文字数以上ならエラーを返す 
    192      * @param  array $value value[0] = 項目名1 value[1] = 項目名2 value[2] = 判定対象文字列1  value[3] = 判定対象文字列2 
     266     * @param  array $value value[0] = 項目名1 
     267     *                      value[1] = 項目名2 
     268     *                      value[2] = 判定対象文字列1 
     269     *                      value[3] = 判定対象文字列2 
    193270     * @return void 
    194271     */ 
    195272    public function EQUAL_CHECK($value) 
    196273    { 
    197         if (isset($this->arrErr[$value[2]]) || isset($this->arrErr[$value[3]])) { 
    198             return; 
    199         } 
     274        $disp_name1 = $value[0]; 
     275        $disp_name2 = $value[1]; 
     276        $keyname1 = $value[2]; 
     277        $keyname2 = $value[3]; 
     278 
     279        if (isset($this->arrErr[$keyname1]) 
     280            || isset($this->arrErr[$keyname2]) 
     281        ) { 
     282            return; 
     283        } 
     284 
    200285        // $this->createParam($value); 
     286 
    201287        // 文字数の取得 
    202         if ($this->arrParam[$value[2]] !== $this->arrParam[$value[3]]) { 
    203             $this->arrErr[$value[2]] = '※ ' . $value[0] . 'と' . $value[1] . 'が一致しません。<br />'; 
     288        if ($this->arrParam[$keyname1] !== $this->arrParam[$keyname2]) { 
     289            $this->arrErr[$keyname1] = 
     290                "※{$disp_name1}と{$disp_name2}が一致しません。<br />"; 
    204291        } 
    205292    } 
     
    209296     * 
    210297     * 入力が指定文字数以上ならエラーを返す 
    211      * @param  array $value value[0] = 項目名1 value[1] = 項目名2 value[2] = 判定対象文字列1  value[3] = 判定対象文字列2 
     298     * @param  array $value value[0] = 項目名1 
     299     *                      value[1] = 項目名2 
     300     *                      value[2] = 判定対象文字列1 
     301     *                      value[3] = 判定対象文字列2 
    212302     * @return void 
    213303     */ 
    214304    public function DIFFERENT_CHECK($value) 
    215305    { 
    216         if (isset($this->arrErr[$value[2]]) || isset($this->arrErr[$value[3]])) { 
    217             return; 
    218         } 
     306        $disp_name1 = $value[0]; 
     307        $disp_name2 = $value[1]; 
     308        $keyname1 = $value[2]; 
     309        $keyname2 = $value[3]; 
     310 
     311        if (isset($this->arrErr[$keyname1]) 
     312            || isset($this->arrErr[$keyname2]) 
     313        ) { 
     314            return; 
     315        } 
     316 
    219317        // $this->createParam($value); 
     318 
    220319        // 文字数の取得 
    221         if ($this->arrParam[$value[2]] == $this->arrParam[$value[3]]) { 
    222             $this->arrErr[$value[2]] = '※ ' . $value[0] . 'と' . $value[1] . 'は、同じ値を使用できません。<br />'; 
     320        if ($this->arrParam[$keyname1] == $this->arrParam[$keyname2]) { 
     321            $this->arrErr[$keyname1] = sprintf( 
     322                '※ %sと%sは、同じ値を使用できません。<br />', 
     323                $disp_name1, 
     324                $disp_name2 
     325            ); 
    223326        } 
    224327    } 
     
    228331     * 
    229332     * 入力が指定文字数以上ならエラーを返す 
    230      * @param  array $value value[0] = 項目名1 value[1] = 項目名2 value[2] = 判定対象文字列1  value[3] = 判定対象文字列2 
     333     * @param  array $value value[0] = 項目名1 
     334     *                      value[1] = 項目名2 
     335     *                      value[2] = 判定対象文字列1 
     336     *                      value[3] = 判定対象文字列2 
    231337     * @return void 
    232338     */ 
    233339    public function GREATER_CHECK($value) 
    234340    { 
    235         if (isset($this->arrErr[$value[2]]) || isset($this->arrErr[$value[3]])) { 
    236             return; 
    237         } 
     341        $disp_name1 = $value[0]; 
     342        $disp_name2 = $value[1]; 
     343        $keyname1 = $value[2]; 
     344        $keyname2 = $value[3]; 
     345 
     346        if (isset($this->arrErr[$keyname1]) 
     347            || isset($this->arrErr[$keyname2]) 
     348        ) { 
     349            return; 
     350        } 
     351 
    238352        // $this->createParam($value); 
     353 
    239354        // 文字数の取得 
    240         if ($this->arrParam[$value[2]] != '' && $this->arrParam[$value[3]] != '' && ($this->arrParam[$value[2]] > $this->arrParam[$value[3]])) { 
    241             $this->arrErr[$value[2]] = '※ ' . $value[0] . 'は' . $value[1] . 'より大きい値を入力できません。<br />'; 
     355        $input_var1 = $this->arrParam[$keyname1]; 
     356        $input_var2 = $this->arrParam[$keyname2]; 
     357        if ($input_var1 != '' 
     358            && $input_var2 != '' 
     359            && ($input_var1 > $input_var2) 
     360        ) { 
     361            $this->arrErr[$keyname1] = sprintf( 
     362                '※ %sは%sより大きい値を入力できません。<br />', 
     363                $disp_name1, 
     364                $disp_name1 
     365            ); 
    242366        } 
    243367    } 
     
    247371     * 
    248372     * 入力が指定文字数以上ならエラーを返す 
    249      * @param  array $value value[0] = 項目名 value[1] = 判定対象文字列  value[2] = 最大文字数(半角も全角も1文字として数える) 
     373     * @param  array $value value[0] = 項目名 
     374     *                      value[1] = 判定対象文字列 
     375     *                      value[2] = 最大文字数(半角も全角も1文字として数える) 
    250376     * @return void 
    251377     */ 
    252378    public function MAX_LENGTH_CHECK($value) 
    253379    { 
    254         if (isset($this->arrErr[$value[1]])) { 
    255             return; 
    256         } 
    257         $this->createParam($value); 
     380        $disp_name = $value[0]; 
     381        $keyname = $value[1]; 
     382        $max_str_len = $value[2]; 
     383 
     384        if (isset($this->arrErr[$keyname])) { 
     385            return; 
     386        } 
     387 
     388        $this->createParam($value); 
     389 
    258390        // 文字数の取得 
    259         if (mb_strlen($this->arrParam[$value[1]]) > $value[2]) { 
    260             $this->arrErr[$value[1]] = '※ ' . $value[0] . 'は' . $value[2] . '字以下で入力してください。<br />'; 
     391        if (mb_strlen($this->arrParam[$keyname]) > $max_str_len) { 
     392            $this->arrErr[$keyname] = sprintf( 
     393                '※ %sは%d字以下で入力してください。<br />', 
     394                $disp_name, 
     395                $max_str_len 
     396            ); 
    261397        } 
    262398    } 
     
    266402     * 
    267403     * 入力が指定文字数未満ならエラーを返す 
    268      * @param  array $value value[0] = 項目名 value[1] = 判定対象文字列 value[2] = 最小文字数(半角も全角も1文字として数える) 
     404     * @param  array $value value[0] = 項目名 
     405     *                      value[1] = 判定対象文字列 
     406     *                      value[2] = 最小文字数(半角も全角も1文字として数える) 
    269407     * @return void 
    270408     */ 
    271409    public function MIN_LENGTH_CHECK($value) 
    272410    { 
    273         if (isset($this->arrErr[$value[1]])) { 
    274             return; 
    275         } 
    276         $this->createParam($value); 
     411        $disp_name = $value[0]; 
     412        $keyname = $value[1]; 
     413        $min_str_len = $value[2]; 
     414 
     415        if (isset($this->arrErr[$keyname])) { 
     416            return; 
     417        } 
     418 
     419        $this->createParam($value); 
     420 
    277421        // 文字数の取得 
    278         if (mb_strlen($this->arrParam[$value[1]]) < $value[2]) { 
    279             $this->arrErr[$value[1]] = '※ ' . $value[0] . 'は' . $value[2] . '字以上で入力してください。<br />'; 
     422        if (mb_strlen($this->arrParam[$keyname]) < $min_str_len) { 
     423            $this->arrErr[$keyname] = sprintf( 
     424                '※ %sは%d字以上で入力してください。<br />', 
     425                $disp_name, 
     426                $min_str_len 
     427            ); 
    280428        } 
    281429    } 
     
    285433     * 
    286434     * 入力が最大数以上ならエラーを返す 
    287      * @param  array $value value[0] = 項目名 value[1] = 判定対象文字列  value[2] = 最大数] 
     435     * @param  array $value value[0] = 項目名 
     436     *                      value[1] = 判定対象文字列 
     437     *                      value[2] = 最大数 
    288438     * @return void 
    289439     */ 
    290440    public function MAX_CHECK($value) 
    291441    { 
    292         if (isset($this->arrErr[$value[1]])) { 
    293             return; 
    294         } 
    295         $this->createParam($value); 
     442        $disp_name = $value[0]; 
     443        $keyname = $value[1]; 
     444        $max_threshold = $value[2]; 
     445 
     446        if (isset($this->arrErr[$keyname])) { 
     447            return; 
     448        } 
     449 
     450        $this->createParam($value); 
     451 
    296452        // 文字数の取得 
    297         if ($this->arrParam[$value[1]] > $value[2]) { 
    298             $this->arrErr[$value[1]] = '※ ' . $value[0] . 'は' . $value[2] . '以下で入力してください。<br />'; 
     453        if ($this->arrParam[$keyname] > $max_threshold) { 
     454            $this->arrErr[$keyname] = sprintf( 
     455                '※ %sは%d以下で入力してください。<br />', 
     456                $disp_name, 
     457                $max_threshold 
     458            ); 
    299459        } 
    300460    } 
     
    304464     * 
    305465     * 入力が最小数未満ならエラーを返す 
    306      * @param  array $value value[0] = 項目名 value[1] = 判定対象文字列  value[2] = 最小数 
     466     * @param  array $value value[0] = 項目名 
     467     *                      value[1] = 判定対象文字列 
     468     *                      value[2] = 最小数 
    307469     * @return void 
    308470     */ 
    309471    public function MIN_CHECK($value) 
    310472    { 
    311         if (isset($this->arrErr[$value[1]])) { 
    312             return; 
    313         } 
    314         $this->createParam($value); 
    315         if ($this->arrParam[$value[1]] < $value[2]) { 
    316             $this->arrErr[$value[1]] = '※ ' . $value[0] . 'は' . $value[2] . '以上で入力してください。<br />'; 
     473        $disp_name = $value[0]; 
     474        $keyname = $value[1]; 
     475        $min_threshold = $value[2]; 
     476 
     477        if (isset($this->arrErr[$keyname])) { 
     478            return; 
     479        } 
     480 
     481        $this->createParam($value); 
     482 
     483        if ($this->arrParam[$keyname] < $min_threshold) { 
     484            $this->arrErr[$keyname] = sprintf( 
     485                '※ %sは%d以上で入力してください。<br />', 
     486                $disp_name, 
     487                $min_threshold 
     488            ); 
    317489        } 
    318490    } 
     
    327499    public function NUM_CHECK($value) 
    328500    { 
    329         if (isset($this->arrErr[$value[1]])) { 
    330             return; 
    331         } 
    332         $this->createParam($value); 
    333         if ($this->numelicCheck($this->arrParam[$value[1]])) { 
    334             $this->arrErr[$value[1]] = '※ ' . $value[0] . 'は数字で入力してください。<br />'; 
     501        $disp_name = $value[0]; 
     502        $keyname = $value[1]; 
     503 
     504        if (isset($this->arrErr[$keyname])) { 
     505            return; 
     506        } 
     507 
     508        $this->createParam($value); 
     509 
     510        if ($this->numelicCheck($this->arrParam[$keyname])) { 
     511            $this->arrErr[$keyname] = 
     512                "※ {$disp_name}は数字で入力してください。<br />"; 
    335513        } 
    336514    } 
     
    345523    public function NUM_POINT_CHECK($value) 
    346524    { 
    347         if (isset($this->arrErr[$value[1]])) { 
    348             return; 
    349         } 
    350         $this->createParam($value); 
    351         if (strlen($this->arrParam[$value[1]]) > 0 && !is_numeric($this->arrParam[$value[1]])) { 
    352             $this->arrErr[$value[1]] = '※ ' . $value[0] . 'は数字で入力してください。<br />'; 
     525        $disp_name = $value[0]; 
     526        $keyname = $value[1]; 
     527 
     528        if (isset($this->arrErr[$keyname])) { 
     529            return; 
     530        } 
     531 
     532        $this->createParam($value); 
     533 
     534        if (strlen($this->arrParam[$keyname]) > 0 
     535            && !is_numeric($this->arrParam[$keyname]) 
     536        ) { 
     537            $this->arrErr[$keyname] = 
     538                "※ {$disp_name}は数字で入力してください。<br />"; 
    353539        } 
    354540    } 
     
    356542    public function ALPHA_CHECK($value) 
    357543    { 
    358         if (isset($this->arrErr[$value[1]])) { 
    359             return; 
    360         } 
    361         $this->createParam($value); 
    362         if (strlen($this->arrParam[$value[1]]) > 0 && !ctype_alpha($this->arrParam[$value[1]])) { 
    363             $this->arrErr[$value[1]] = '※ ' . $value[0] . 'は半角英字で入力してください。<br />'; 
     544        $disp_name = $value[0]; 
     545        $keyname = $value[1]; 
     546 
     547        if (isset($this->arrErr[$keyname])) { 
     548            return; 
     549        } 
     550 
     551        $this->createParam($value); 
     552 
     553        if (strlen($this->arrParam[$keyname]) > 0 
     554            && !ctype_alpha($this->arrParam[$keyname]) 
     555        ) { 
     556            $this->arrErr[$keyname] = 
     557                "※ {$disp_name}は半角英字で入力してください。<br />"; 
    364558        } 
    365559    } 
     
    380574    public function TEL_CHECK($value) 
    381575    { 
     576        $disp_name = $value[0]; 
     577        $keyname1 = $value[1]; 
     578        $keyname2 = $value[2]; 
     579        $keyname3 = $value[3]; 
     580 
    382581        $telItemLen = isset($value[4]) ? $value[4] : TEL_ITEM_LEN; 
    383582        $telLen = isset($value[5]) ? $value[5] : TEL_LEN; 
    384583 
    385         if (isset($this->arrErr[$value[1]]) || isset($this->arrErr[$value[2]]) || isset($this->arrErr[$value[3]])) { 
    386             return; 
    387         } 
    388         $this->createParam($value); 
     584        if (isset($this->arrErr[$keyname1]) 
     585            || isset($this->arrErr[$keyname2]) 
     586            || isset($this->arrErr[$keyname3]) 
     587        ) { 
     588            return; 
     589        } 
     590 
     591        $this->createParam($value); 
     592 
    389593        $cnt = 0; 
    390  
    391594        for ($i = 1; $i <= 3; $i++) { 
    392             if (strlen($this->arrParam[$value[$i]]) > 0) { 
     595            $keyname = ${"keyname{$i}"}; 
     596            if (strlen($this->arrParam[$keyname]) > 0) { 
    393597                $cnt++; 
    394598            } 
     
    397601        // 全ての項目が満たされていない場合を判定(一部だけ入力されている状態) 
    398602        if ($cnt > 0 && $cnt < 3) { 
    399             $this->arrErr[$value[1]] .= '※ ' . $value[0] . 'は全ての項目を入力してください。<br />'; 
     603            $this->arrErr[$keyname1] .= 
     604                "※ {$disp_name}は全ての項目を入力してください。<br />"; 
    400605        } 
    401606 
    402607        $total_count = 0; 
    403608        for ($i = 1; $i <= 3; $i++) { 
    404             if (strlen($this->arrParam[$value[$i]]) > 0 && strlen($this->arrParam[$value[$i]]) > $telItemLen) { 
    405                 $this->arrErr[$value[$i]] .= '※ ' . $value[0] . $i . 'は' . $telItemLen . '字以内で入力してください。<br />'; 
    406             } elseif ($this->numelicCheck($this->arrParam[$value[$i]])) { 
    407                 $this->arrErr[$value[$i]] .= '※ ' . $value[0] . $i . 'は数字で入力してください。<br />'; 
    408             } 
    409             $total_count += strlen($this->arrParam[$value[$i]]); 
     609            $keyname = ${"keyname{$i}"}; 
     610            $input_var = $this->arrParam[$keyname]; 
     611 
     612            if (strlen($input_var) > 0 && strlen($input_var) > $telItemLen) { 
     613                $this->arrErr[$keyname] .= sprintf( 
     614                    '※ %sは%d字以内で入力してください。<br />', 
     615                    $disp_name . $i, 
     616                    $telItemLen 
     617                ); 
     618            } elseif ($this->numelicCheck($input_var)) { 
     619                $this->arrErr[$keyname] .= 
     620                    "※ {$disp_name}{$i}は数字で入力してください。<br />"; 
     621            } 
     622 
     623            $total_count += strlen($input_var); 
    410624        } 
    411625 
    412626        // 合計値チェック 
    413627        if ($total_count > $telLen) { 
    414             $this->arrErr[$value[3]] .= '※ ' . $value[0] . 'は' . $telLen . '文字以内で入力してください。<br />'; 
     628            $this->arrErr[$keyname3] .= 
     629                "※ {$disp_name}は{$telLen}文字以内で入力してください。<br />"; 
    415630        } 
    416631    } 
     
    422637    public function FULL_EXIST_CHECK($value) 
    423638    { 
     639        $disp_name = $value[0]; 
     640        $keyname = $value[1]; 
     641 
     642        $this->createParam($value); 
     643 
     644        // 既に該当項目にエラーがある場合は、判定しない。 
    424645        $max = count($value); 
    425         $this->createParam($value); 
    426         // 既に該当項目にエラーがある場合は、判定しない。 
    427646        for ($i = 1; $i < $max; $i++) { 
    428647            if (isset($this->arrErr[$value[$i]])) { 
     
    441660 
    442661        if ($blank) { 
    443             $this->arrErr[$value[1]] = '※ ' . $value[0] . 'が入力されていません。<br />'; 
     662            $this->arrErr[$keyname] = 
     663                "※ {$disp_name}が入力されていません。<br />"; 
    444664        } 
    445665    } 
     
    451671    public function ALL_EXIST_CHECK($value) 
    452672    { 
     673        $disp_name = $value[0]; 
     674        $keyname = $value[1]; 
     675 
     676        // 既に該当項目にエラーがある場合は、判定しない。 
    453677        $max = count($value); 
    454  
    455         // 既に該当項目にエラーがある場合は、判定しない。 
    456678        for ($i = 1; $i < $max; $i++) { 
    457679            if (isset($this->arrErr[$value[$i]])) { 
     
    473695 
    474696        if ($blank && $input) { 
    475             $this->arrErr[$value[1]] = '※ ' . $value[0] . 'は全ての項目を入力して下さい。<br />'; 
     697            $this->arrErr[$keyname] = 
     698                "※ {$disp_name}は全ての項目を入力して下さい。<br />"; 
    476699        } 
    477700    } 
     
    483706    public function ONE_EXIST_CHECK($value) 
    484707    { 
     708        $disp_name = $value[0]; 
     709        $keyname = $value[1]; 
     710 
     711        $this->createParam($value); 
     712 
     713        // 既に該当項目にエラーがある場合は、判定しない。 
    485714        $max = count($value); 
    486         $this->createParam($value); 
    487         // 既に該当項目にエラーがある場合は、判定しない。 
    488715        for ($i = 1; $i < $max; $i++) { 
    489716            if (isset($this->arrErr[$value[$i]])) { 
     
    502729 
    503730        if (!$input) { 
    504             $this->arrErr[$value[1]] = '※ ' . $value[0] . 'が入力されていません。<br />'; 
     731            $this->arrErr[$keyname] = 
     732                "※ {$disp_name}が入力されていません。<br />"; 
    505733        } 
    506734    } 
     
    512740    public function TOP_EXIST_CHECK($value) 
    513741    { 
     742        $disp_name = $value[0]; 
     743        $keyname = $value[1]; 
     744 
     745        $this->createParam($value); 
     746 
     747        // 既に該当項目にエラーがある場合は、判定しない。 
    514748        $max = count($value); 
    515         $this->createParam($value); 
    516  
    517         // 既に該当項目にエラーがある場合は、判定しない。 
    518749        for ($i = 1; $i < $max; $i++) { 
    519750            if (isset($this->arrErr[$value[$i]])) { 
     
    537768 
    538769        if ($error) { 
    539             $this->arrErr[$value[1]] = '※ ' . $value[0] . 'は先頭の項目から順番に入力して下さい。<br />'; 
     770            $this->arrErr[$keyname] = 
     771                "※ {$disp_name}は先頭の項目から順番に入力して下さい。<br />"; 
    540772        } 
    541773    } 
     
    546778    public function KANA_CHECK($value) 
    547779    { 
    548         if (isset($this->arrErr[$value[1]])) { 
    549             return; 
    550         } 
    551         $this->createParam($value); 
    552         if (strlen($this->arrParam[$value[1]]) > 0 && !preg_match("/^[ァ-ヶヲ-゚ー]+$/u", $this->arrParam[$value[1]])) { 
    553             $this->arrErr[$value[1]] = '※ ' . $value[0] . 'はカタカナで入力してください。<br />'; 
     780        $disp_name = $value[0]; 
     781        $keyname = $value[1]; 
     782 
     783        if (isset($this->arrErr[$keyname])) { 
     784            return; 
     785        } 
     786 
     787        $this->createParam($value); 
     788 
     789        $input_var = $this->arrParam[$keyname]; 
     790        $pattern = "/^[ァ-ヶヲ-゚ー]+$/u"; 
     791        if (strlen($input_var) > 0 && !preg_match($pattern, $input_var)) { 
     792            $this->arrErr[$keyname] = 
     793                "※ {$disp_name}はカタカナで入力してください。<br />"; 
    554794        } 
    555795    } 
     
    560800    public function KANABLANK_CHECK($value) 
    561801    { 
    562         if (isset($this->arrErr[$value[1]])) { 
    563             return; 
    564         } 
    565         $this->createParam($value); 
    566         if (strlen($this->arrParam[$value[1]]) > 0 && !preg_match("/^([  \t\r\n]|[ァ-ヶ]|[ー])+$/u", $this->arrParam[$value[1]])) { 
    567             $this->arrErr[$value[1]] = '※ ' . $value[0] . 'はカタカナで入力してください。<br />'; 
     802        $disp_name = $value[0]; 
     803        $keyname = $value[1]; 
     804 
     805        if (isset($this->arrErr[$keyname])) { 
     806            return; 
     807        } 
     808 
     809        $this->createParam($value); 
     810 
     811        $input_var = $this->arrParam[$keyname]; 
     812        $pattern = "/^([  \t\r\n]|[ァ-ヶ]|[ー])+$/u"; 
     813        if (strlen($input_var) > 0 && !preg_match($pattern, $input_var)) { 
     814            $this->arrErr[$keyname] = 
     815                "※ {$disp_name}はカタカナで入力してください。<br />"; 
    568816        } 
    569817    } 
     
    574822    public function ALNUM_CHECK($value) 
    575823    { 
    576         if (isset($this->arrErr[$value[1]])) { 
    577             return; 
    578         } 
    579         $this->createParam($value); 
    580         if (strlen($this->arrParam[$value[1]]) > 0 && !ctype_alnum($this->arrParam[$value[1]])) { 
    581             $this->arrErr[$value[1]] = '※ ' . $value[0] . 'は英数字で入力してください。<br />'; 
     824        $disp_name = $value[0]; 
     825        $keyname = $value[1]; 
     826 
     827        if (isset($this->arrErr[$keyname])) { 
     828            return; 
     829        } 
     830 
     831        $this->createParam($value); 
     832 
     833        $input_var = $this->arrParam[$keyname]; 
     834        if (strlen($input_var) > 0 && !ctype_alnum($input_var)) { 
     835            $this->arrErr[$keyname] = 
     836                "※ {$disp_name}は英数字で入力してください。<br />"; 
    582837        } 
    583838    } 
     
    588843    public function GRAPH_CHECK($value) 
    589844    { 
    590         if (isset($this->arrErr[$value[1]])) { 
    591             return; 
    592         } 
    593         $this->createParam($value); 
    594         if (strlen($this->arrParam[$value[1]]) > 0 && !preg_match("/^[[:graph:][:space:]]+$/i", $this->arrParam[$value[1]])) { 
    595             $this->arrErr[$value[1]] = '※ ' . $value[0] . 'は英数記号で入力してください。<br />'; 
     845        $disp_name = $value[0]; 
     846        $keyname = $value[1]; 
     847 
     848        if (isset($this->arrErr[$keyname])) { 
     849            return; 
     850        } 
     851 
     852        $this->createParam($value); 
     853 
     854        $input_var = $this->arrParam[$keyname]; 
     855        $pattern = "/^[[:graph:][:space:]]+$/i"; 
     856        if (strlen($input_var) > 0 && !preg_match($pattern, $input_var)) { 
     857            $this->arrErr[$keyname] = 
     858                "※ {$disp_name}は英数記号で入力してください。<br />"; 
    596859        } 
    597860    } 
     
    602865    public function ZERO_CHECK($value) 
    603866    { 
    604         $this->createParam($value); 
    605         if ($this->arrParam[$value[1]] == '0') { 
    606             $this->arrErr[$value[1]] = '※ ' . $value[0] . 'は1以上を入力してください。<br />'; 
     867        $disp_name = $value[0]; 
     868        $keyname = $value[1]; 
     869 
     870        $this->createParam($value); 
     871 
     872        if ($this->arrParam[$keyname] == '0') { 
     873            $this->arrErr[$keyname] = 
     874                "※ {$disp_name}は1以上を入力してください。<br />"; 
    607875        } 
    608876    } 
     
    613881    public function NUM_RANGE_CHECK($value) 
    614882    { 
    615         if (isset($this->arrErr[$value[1]])) { 
    616             return; 
    617         } 
    618         $this->createParam($value); 
    619         // $this->arrParam[$value[0]] = mb_convert_kana($this->arrParam[$value[0]], 'n'); 
    620         $count = strlen($this->arrParam[$value[1]]); 
    621         if (($count > 0) && $value[2] > $count || $value[3] < $count) { 
    622             $this->arrErr[$value[1]] =  "※ $value[0]は$value[2]桁~$value[3]桁で入力して下さい。<br />"; 
     883        $disp_name = $value[0]; 
     884        $keyname = $value[1]; 
     885        $min_digit = $value[2]; 
     886        $max_digit = $value[3]; 
     887 
     888        if (isset($this->arrErr[$keyname])) { 
     889            return; 
     890        } 
     891 
     892        $this->createParam($value); 
     893 
     894        // $this->arrParam[$keyname] = mb_convert_kana($this->arrParam[$keyname], 'n'); 
     895        $count = strlen($this->arrParam[$keyname]); 
     896        if (($count > 0) && $min_digit > $count || $max_digit < $count) { 
     897            $this->arrErr[$keyname] = sprintf( 
     898                '※ %sは%d桁~%d桁で入力して下さい。<br />', 
     899                $disp_name, 
     900                $min_digit, 
     901                $max_digit 
     902            ); 
    623903        } 
    624904    } 
     
    629909    public function NUM_COUNT_CHECK($value) 
    630910    { 
    631         if (isset($this->arrErr[$value[1]])) { 
    632             return; 
    633         } 
    634         $this->createParam($value); 
    635         $count = strlen($this->arrParam[$value[1]]); 
    636         if (($count > 0) && $count != $value[2]) { 
    637             $this->arrErr[$value[1]] =  "※ $value[0]は$value[2]桁で入力して下さい。<br />"; 
     911        $disp_name = $value[0]; 
     912        $keyname = $value[1]; 
     913        $digit = $value[2]; 
     914 
     915        if (isset($this->arrErr[$keyname])) { 
     916            return; 
     917        } 
     918 
     919        $this->createParam($value); 
     920 
     921        $count = strlen($this->arrParam[$keyname]); 
     922        if (($count > 0) && $count != $digit) { 
     923            $this->arrErr[$keyname] = 
     924                "※ {$disp_name}は{$digit}桁で入力して下さい。<br />"; 
    638925        } 
    639926    } 
     
    649936    public function EMAIL_CHECK($value) 
    650937    { 
    651         if (isset($this->arrErr[$value[1]])) { 
     938        $disp_name = $value[0]; 
     939        $keyname = $value[1]; 
     940 
     941        if (isset($this->arrErr[$keyname])) { 
    652942            return; 
    653943        } 
     
    656946 
    657947        // 入力がない場合処理しない 
    658         if (strlen($this->arrParam[$value[1]]) === 0) { 
     948        if (strlen($this->arrParam[$keyname]) === 0) { 
    659949            return; 
    660950        } 
     
    683973        } 
    684974 
    685         if (!preg_match($regexp, $this->arrParam[$value[1]])) { 
    686             $this->arrErr[$value[1]] = '※ ' . $value[0] . 'の形式が不正です。<br />'; 
     975        if (!preg_match($regexp, $this->arrParam[$keyname])) { 
     976            $this->arrErr[$keyname] = "※ {$disp_name}の形式が不正です。<br />"; 
    687977 
    688978            return; 
     
    700990    public function EMAIL_CHAR_CHECK($value) 
    701991    { 
    702         if (isset($this->arrErr[$value[1]])) { 
    703             return; 
    704         } 
    705         $this->createParam($value); 
    706         if (strlen($this->arrParam[$value[1]]) > 0 && !preg_match("/^[a-zA-Z0-9_\.@\+\?-]+$/i", $this->arrParam[$value[1]])) { 
    707             $this->arrErr[$value[1]] = '※ ' . $value[0] . 'に使用する文字を正しく入力してください。<br />'; 
     992        $disp_name = $value[0]; 
     993        $keyname = $value[1]; 
     994 
     995        if (isset($this->arrErr[$keyname])) { 
     996            return; 
     997        } 
     998 
     999        $this->createParam($value); 
     1000 
     1001        $input_var = $this->arrParam[$keyname]; 
     1002        $pattern = "/^[a-zA-Z0-9_\.@\+\?-]+$/i"; 
     1003        if (strlen($input_var) > 0 && !preg_match($pattern, $input_var)) { 
     1004            $this->arrErr[$keyname] = 
     1005                "※ {$disp_name}に使用する文字を正しく入力してください。<br />"; 
    7081006        } 
    7091007    } 
     
    7141012    public function URL_CHECK($value) 
    7151013    { 
    716         if (isset($this->arrErr[$value[1]])) { 
    717             return; 
    718         } 
    719         if (strlen($this->arrParam[$value[1]]) > 0 && !preg_match("@^https?://+($|[a-zA-Z0-9_~=:&\?\.\/-])+$@i", $this->arrParam[$value[1]])) { 
    720             $this->arrErr[$value[1]] = '※ ' . $value[0] . 'を正しく入力してください。<br />'; 
     1014        $disp_name = $value[0]; 
     1015        $keyname = $value[1]; 
     1016 
     1017        if (isset($this->arrErr[$keyname])) { 
     1018            return; 
     1019        } 
     1020 
     1021        $input_var = $this->arrParam[$keyname]; 
     1022        $pattern = "@^https?://+($|[a-zA-Z0-9_~=:&\?\.\/-])+$@i"; 
     1023        if (strlen($input_var) > 0 && !preg_match($pattern, $input_var)) { 
     1024            $this->arrErr[$keyname] = 
     1025                "※ {$disp_name}を正しく入力してください。<br />"; 
    7211026        } 
    7221027    } 
     
    7261031    public function IP_CHECK($value) 
    7271032    { 
    728         if (isset($this->arrErr[$value[1]])) { 
    729             return; 
    730         } 
     1033        $disp_name = $value[0]; 
     1034        $keyname = $value[1]; 
     1035 
     1036        if (isset($this->arrErr[$keyname])) { 
     1037            return; 
     1038        } 
     1039 
    7311040        //改行コードが含まれている場合には配列に変換 
    732         $params = str_replace("\r", '', $this->arrParam[$value[1]]); 
     1041        $params = str_replace("\r", '', $this->arrParam[$keyname]); 
    7331042        if (!empty($params)) { 
    7341043            if (strpos($params, "\n") === false) { 
     
    7391048                $param = trim($param); 
    7401049                if (long2ip(ip2long($param)) != trim($param) && !empty($param)) { 
    741                     $this->arrErr[$value[1]] = '※ ' . $value[0] . 'に正しい形式のIPアドレスを入力してください。<br />'; 
     1050                    $this->arrErr[$keyname] = 
     1051                        "※ {$disp_name}に正しい形式のIPアドレスを入力してください。<br />"; 
    7421052                } 
    7431053            } 
     
    7501060    public function FILE_EXT_CHECK($value) 
    7511061    { 
    752         if (isset($this->arrErr[$value[1]]) || count($value[2]) == 0) { 
    753             return; 
    754         } 
     1062        $disp_name = $value[0]; 
     1063        $keyname = $value[1]; 
     1064        $arrExtension = $value[2]; 
     1065 
     1066        if (isset($this->arrErr[$keyname]) || count($arrExtension) == 0) { 
     1067            return; 
     1068        } 
     1069 
    7551070        $this->createParam($value); 
    7561071 
    7571072        $match = false; 
    758         if (strlen($_FILES[$value[1]]['name']) >= 1) { 
    759             $filename = $_FILES[$value[1]]['name']; 
    760  
    761             foreach ($value[2] as $check_ext) { 
    762                 $match = preg_match('/' . preg_quote('.' . $check_ext) . '$/i', $filename) >= 1; 
     1073        $filename = $_FILES[$keyname]['name']; 
     1074        if (strlen($filename) >= 1) { 
     1075            foreach ($arrExtension as $check_ext) { 
     1076                $pattern = '/' . preg_quote('.' . $check_ext) . '$/i'; 
     1077                $match = preg_match($pattern, $filename) >= 1; 
    7631078                if ($match === true) { 
    7641079                    break 1; 
     
    7671082        } 
    7681083        if ($match === false) { 
    769             $str_ext = implode('・', $value[2]); 
    770             $this->arrErr[$value[1]] = '※ ' . $value[0] . 'で許可されている形式は、' . $str_ext . 'です。<br />'; 
     1084            $str_ext = implode('・', $arrExtension); 
     1085            $this->arrErr[$keyname] = 
     1086                "※ {$disp_name}で許可されている形式は、{$str_ext}です。<br />"; 
    7711087        } 
    7721088    } 
     
    7771093    public function FIND_FILE($value) 
    7781094    { 
    779         if (isset($this->arrErr[$value[1]])) { 
     1095        $disp_name = $value[0]; 
     1096        $keyname = $value[1]; 
     1097        $target_dir = $value[2]; 
     1098 
     1099        if (isset($this->arrErr[$keyname])) { 
    7801100            return; 
    7811101        } 
    7821102 
    7831103        // $this->createParam($value); 
    784         if ($value[2] != '') { 
    785             $dir = $value[2]; 
     1104 
     1105        if ($target_dir != '') { 
     1106            $dir = $target_dir; 
    7861107        } else { 
    7871108            $dir = IMAGE_SAVE_REALDIR; 
    7881109        } 
    7891110 
    790         $path = $dir . '/' . $this->arrParam[$value[1]]; 
     1111        $path = $dir . '/' . $this->arrParam[$keyname]; 
    7911112        $path = str_replace('//', '/', $path); 
    7921113 
    793         if ($this->arrParam[$value[1]] != '' && !file_exists($path)) { 
    794             $this->arrErr[$value[1]] = '※ ' . $path . 'が見つかりません。<br />'; 
     1114        if ($this->arrParam[$keyname] != '' && !file_exists($path)) { 
     1115            $this->arrErr[$keyname] = "※ {$path}が見つかりません。<br />"; 
    7951116        } 
    7961117    } 
     
    8011122    public function FILE_EXIST_CHECK($value) 
    8021123    { 
    803         if (isset($this->arrErr[$value[1]])) { 
    804             return; 
    805         } 
    806         $this->createParam($value); 
    807         if (!($_FILES[$value[1]]['size'] != '' && $_FILES[$value[1]]['size'] > 0)) { 
    808             $this->arrErr[$value[1]] = '※ ' . $value[0] . 'をアップロードして下さい。<br />'; 
     1124        $disp_name = $value[0]; 
     1125        $keyname = $value[1]; 
     1126 
     1127        if (isset($this->arrErr[$keyname])) { 
     1128            return; 
     1129        } 
     1130 
     1131        $this->createParam($value); 
     1132 
     1133        $file_size = $_FILES[$keyname]['size']; 
     1134        if ($file_size == '' || !($file_size > 0)) { 
     1135            $this->arrErr[$keyname] = 
     1136                "※ {$disp_name}をアップロードして下さい。<br />"; 
    8091137        } 
    8101138    } 
     
    8151143    public function FILE_SIZE_CHECK($value) 
    8161144    { 
    817         if (isset($this->arrErr[$value[1]])) { 
    818             return; 
    819         } 
    820         $this->createParam($value); 
    821         if ($_FILES[$value[1]]['size'] > $value[2] *  1024) { 
     1145        $disp_name = $value[0]; 
     1146        $keyname = $value[1]; 
     1147        $max_file_size = $value[2]; 
     1148 
     1149        if (isset($this->arrErr[$keyname])) { 
     1150            return; 
     1151        } 
     1152 
     1153        $this->createParam($value); 
     1154 
     1155        if ($_FILES[$keyname]['size'] > $max_file_size *  1024) { 
    8221156            $byte = 'KB'; 
    823             if ($value[2] >= 1000) { 
    824                 $value[2] = $value[2] / 1000; 
     1157            if ($max_file_size >= 1000) { 
     1158                $max_file_size = $max_file_size / 1000; 
    8251159                $byte = 'MB'; 
    8261160            } 
    827             $this->arrErr[$value[1]] = '※ ' . $value[0] . 'のファイルサイズは' . $value[2] . $byte . '以下のものを使用してください。<br />'; 
     1161            $this->arrErr[$keyname] = sprintf( 
     1162                '※ %sのファイルサイズは%d%s以下のものを使用してください。<br />', 
     1163                $disp_name, 
     1164                $max_file_size, 
     1165                $byte 
     1166            ); 
    8281167        } 
    8291168    } 
     
    8341173    public function FILE_NAME_CHECK($value) 
    8351174    { 
    836         if (isset($this->arrErr[$value[1]])) { 
    837             return; 
    838         } 
    839         $this->createParam($value); 
    840         if (strlen($_FILES[$value[1]]['name']) > 0 && !preg_match("/^[[:alnum:]_\.-]+$/i", $_FILES[$value[1]]['name'])) { 
    841             $this->arrErr[$value[1]] = '※ ' . $value[0] . "のファイル名には、英数字、記号(_ - .)のみを入力して下さい。<br />"; 
     1175        $disp_name = $value[0]; 
     1176        $keyname = $value[1]; 
     1177 
     1178        if (isset($this->arrErr[$keyname])) { 
     1179            return; 
     1180        } 
     1181 
     1182        $this->createParam($value); 
     1183 
     1184        $filename = $_FILES[$keyname]['name']; 
     1185        $pattern = "/^[[:alnum:]_\.-]+$/i"; 
     1186        if (strlen($filename) > 0 && !preg_match($pattern, $filename)) { 
     1187            $this->arrErr[$keyname] = 
     1188                "※ {$disp_name}のファイル名には、英数字、記号(_ - .)のみを入力して下さい。<br />"; 
    8421189        } 
    8431190    } 
     
    8481195    public function FILE_NAME_CHECK_BY_NOUPLOAD($value) 
    8491196    { 
    850         if (isset($this->arrErr[$value[1]])) { 
    851             return; 
    852         } 
    853         $this->createParam($value); 
    854         if (strlen($this->arrParam[$value[1]]) > 0 && preg_match("/[^[:alnum:]_.\\-]/", $this->arrParam[$value[1]])) { 
    855             $this->arrErr[$value[1]] = '※ ' . $value[0] . "のファイル名には、英数字、記号(_ - .)のみを入力して下さい。<br />"; 
     1197        $disp_name = $value[0]; 
     1198        $keyname = $value[1]; 
     1199 
     1200        if (isset($this->arrErr[$keyname])) { 
     1201            return; 
     1202        } 
     1203 
     1204        $this->createParam($value); 
     1205 
     1206        $filename = $this->arrParam[$keyname]; 
     1207        $pattern = "/[^[:alnum:]_.\\-]/"; 
     1208        if (strlen($filename) > 0 && preg_match($pattern, $filename)) { 
     1209            $this->arrErr[$keyname] = 
     1210                "※ {$disp_name}のファイル名には、英数字、記号(_ - .)のみを入力して下さい。<br />"; 
    8561211        } 
    8571212    } 
     
    8641219    public function CHECK_DATE($value) 
    8651220    { 
    866         if (isset($this->arrErr[$value[1]])) { 
    867             return; 
    868         } 
    869         $this->createParam($value); 
     1221        $disp_name = $value[0]; 
     1222        $keyname = $value[1]; 
     1223 
     1224        if (isset($this->arrErr[$keyname])) { 
     1225            return; 
     1226        } 
     1227 
     1228        $this->createParam($value); 
     1229 
     1230        $input_year = $this->arrParam[$value[1]]; 
     1231        $input_month = $this->arrParam[$value[2]]; 
     1232        $input_day = $this->arrParam[$value[3]]; 
    8701233        // 少なくともどれか一つが入力されている。 
    871         if ($this->arrParam[$value[1]] > 0 || $this->arrParam[$value[2]] > 0 || $this->arrParam[$value[3]] > 0) { 
     1234        if ($input_year > 0 || $input_month > 0 || $input_day > 0) { 
    8721235            // 年月日のどれかが入力されていない。 
    873             if (!(strlen($this->arrParam[$value[1]]) > 0 && strlen($this->arrParam[$value[2]]) > 0 && strlen($this->arrParam[$value[3]]) > 0)) { 
    874                 $this->arrErr[$value[1]] = '※ ' . $value[0] . 'は全ての項目を入力して下さい。<br />'; 
    875             } elseif (! checkdate($this->arrParam[$value[2]], $this->arrParam[$value[3]], $this->arrParam[$value[1]])) { 
    876                 $this->arrErr[$value[1]] = '※ ' . $value[0] . 'が正しくありません。<br />'; 
     1236            if (!(strlen($input_year) > 0 && strlen($input_month) > 0 && strlen($input_day) > 0)) { 
     1237                $this->arrErr[$keyname] = 
     1238                    "※ {$disp_name}は全ての項目を入力して下さい。<br />"; 
     1239            } elseif (!checkdate($input_month, $input_day, $input_year)) { 
     1240                $this->arrErr[$keyname] = 
     1241                    "※ {$disp_name}が正しくありません。<br />"; 
    8771242            } 
    8781243        } 
     
    8881253    public function CHECK_DATE2($value) 
    8891254    { 
    890         if (isset($this->arrErr[$value[1]])) { 
    891             return; 
    892         } 
    893         $this->createParam($value); 
     1255        $disp_name = $value[0]; 
     1256        $keyname = $value[1]; 
     1257 
     1258        if (isset($this->arrErr[$keyname])) { 
     1259            return; 
     1260        } 
     1261 
     1262        $this->createParam($value); 
     1263 
     1264        $input_year = $this->arrParam[$value[1]]; 
     1265        $input_month = $this->arrParam[$value[2]]; 
     1266        $input_day = $this->arrParam[$value[3]]; 
     1267        $input_hour = $this->arrParam[$value[4]]; 
     1268        $input_minute = $this->arrParam[$value[5]]; 
    8941269        // 少なくともどれか一つが入力されている。 
    895         if ($this->arrParam[$value[1]] > 0 || $this->arrParam[$value[2]] > 0 || $this->arrParam[$value[3]] > 0 || $this->arrParam[$value[4]] >= 0 || $this->arrParam[$value[5]] >= 0) { 
     1270        if ($input_year > 0 || $input_month > 0 || $input_day > 0 
     1271            || $input_hour >= 0 || $input_minute >= 0 
     1272        ) { 
    8961273            // 年月日時のどれかが入力されていない。 
    897             if (!(strlen($this->arrParam[$value[1]]) > 0 && strlen($this->arrParam[$value[2]]) > 0 && strlen($this->arrParam[$value[3]]) > 0 && strlen($this->arrParam[$value[4]]) > 0 && strlen($this->arrParam[$value[5]]) > 0)) { 
    898                 $this->arrErr[$value[1]] = '※ ' . $value[0] . 'は全ての項目を入力して下さい。<br />'; 
    899             } elseif (! checkdate($this->arrParam[$value[2]], $this->arrParam[$value[3]], $this->arrParam[$value[1]])) { 
    900                 $this->arrErr[$value[1]] = '※ ' . $value[0] . 'が正しくありません。<br />'; 
     1274            if (!(strlen($input_year) > 0 && strlen($input_month) > 0 && strlen($input_day) > 0 && strlen($input_hour) > 0 && strlen($input_minute) > 0)) { 
     1275                $this->arrErr[$keyname] = 
     1276                    "※ {$disp_name}は全ての項目を入力して下さい。<br />"; 
     1277            } elseif (! checkdate($input_month, $input_day, $input_year)) { 
     1278                $this->arrErr[$keyname] = 
     1279                    "※ {$disp_name}が正しくありません。<br />"; 
    9011280            } 
    9021281        } 
     
    9091288    public function CHECK_DATE3($value) 
    9101289    { 
    911         if (isset($this->arrErr[$value[1]])) { 
    912             return; 
    913         } 
    914         $this->createParam($value); 
     1290        $disp_name = $value[0]; 
     1291        $keyname = $value[1]; 
     1292 
     1293        if (isset($this->arrErr[$keyname])) { 
     1294            return; 
     1295        } 
     1296 
     1297        $this->createParam($value); 
     1298 
     1299        $input_year = $this->arrParam[$value[1]]; 
     1300        $input_month = $this->arrParam[$value[2]]; 
    9151301        // 少なくともどれか一つが入力されている。 
    916         if ($this->arrParam[$value[1]] > 0 || $this->arrParam[$value[2]] > 0) { 
     1302        if ($input_year > 0 || $input_month > 0) { 
    9171303            // 年月日時のどれかが入力されていない。 
    918             if (!(strlen($this->arrParam[$value[1]]) > 0 && strlen($this->arrParam[$value[2]]) > 0)) { 
    919                 $this->arrErr[$value[1]] = '※ ' . $value[0] . 'は全ての項目を入力して下さい。<br />'; 
    920             } elseif (! checkdate($this->arrParam[$value[2]], 1, $this->arrParam[$value[1]])) { 
    921                 $this->arrErr[$value[1]] = '※ ' . $value[0] . 'が正しくありません。<br />'; 
     1304            if (!(strlen($input_year) > 0 && strlen($input_month) > 0)) { 
     1305                $this->arrErr[$keyname] = 
     1306                    "※ {$disp_name}は全ての項目を入力して下さい。<br />"; 
     1307            } elseif (! checkdate($input_month, 1, $input_year)) { 
     1308                $this->arrErr[$keyname] = 
     1309                    "※ {$disp_name}が正しくありません。<br />"; 
    9221310            } 
    9231311        } 
     
    9311319    public function CHECK_BIRTHDAY($value) 
    9321320    { 
    933         if (isset($this->arrErr[$value[1]])) { 
    934             return; 
    935         } 
    936  
    937         $this->createParam($value); 
     1321        $disp_name = $value[0]; 
     1322        $keyname = $value[1]; 
     1323 
     1324        if (isset($this->arrErr[$keyname])) { 
     1325            return; 
     1326        } 
     1327 
     1328        $this->createParam($value); 
     1329 
    9381330        // 年が入力されている。 
    939         if (strlen($this->arrParam[$value[1]]) >= 1) { 
     1331        if (strlen($this->arrParam[$keyname]) >= 1) { 
    9401332            // 年の数字チェック、最小数値制限チェック 
    941             $this->doFunc(array($value[0].'(年)', $value[1], BIRTH_YEAR), array('NUM_CHECK', 'MIN_CHECK')); 
     1333            $this->doFunc(array("{$disp_name}(年)", $keyname, BIRTH_YEAR), 
     1334                array('NUM_CHECK', 'MIN_CHECK')); 
    9421335            // 上のチェックでエラーある場合、中断する。 
    943             if (isset($this->arrErr[$value[1]])) { 
     1336            if (isset($this->arrErr[$keyname])) { 
    9441337                return; 
    9451338            } 
    9461339 
    9471340            // 年の最大数値制限チェック 
    948             $this->doFunc(array($value[0].'(年)', $value[1], date('Y', strtotime('now'))), array('MAX_CHECK')); 
     1341            $current_year = date('Y', strtotime('now')); 
     1342            $this->doFunc(array("{$disp_name}(年)", $keyname, $current_year), 
     1343                array('MAX_CHECK')); 
    9491344            // 上のチェックでエラーある場合、中断する。 
    950             if (isset($this->arrErr[$value[1]])) { 
     1345            if (isset($this->arrErr[$keyname])) { 
    9511346                return; 
    9521347            } 
     
    9761371    public function CHECK_SET_TERM($value) 
    9771372    { 
     1373        $disp_name1 = $value[0]; 
     1374        $disp_name2 = $value[1]; 
     1375        $keyname1 = $value[2]; 
     1376        $keyname2 = $value[5]; 
     1377 
    9781378        // 期間指定 
    979         if (isset($this->arrErr[$value[2]]) || isset($this->arrErr[$value[5]])) { 
    980             return; 
    981         } 
     1379        if (isset($this->arrErr[$keyname1]) || isset($this->arrErr[$keyname2])) { 
     1380            return; 
     1381        } 
     1382 
    9821383        // $this->createParam($value); 
    983         if ((strlen($this->arrParam[$value[2]]) > 0 || strlen($this->arrParam[$value[3]]) > 0 || strlen($this->arrParam[$value[4]]) > 0) && ! checkdate($this->arrParam[$value[3]], $this->arrParam[$value[4]], $this->arrParam[$value[2]])) { 
    984             $this->arrErr[$value[2]] = '※ ' . $value[0] . 'を正しく指定してください。<br />'; 
    985         } 
    986         if ((strlen($this->arrParam[$value[5]]) > 0 || strlen($this->arrParam[$value[6]]) > 0 || strlen($this->arrParam[$value[7]]) > 0) && ! checkdate($this->arrParam[$value[6]], $this->arrParam[$value[7]], $this->arrParam[$value[5]])) { 
    987             $this->arrErr[$value[5]] = '※ ' . $value[1] . 'を正しく指定してください。<br />'; 
    988         } 
    989         if ((strlen($this->arrParam[$value[2]]) > 0 && strlen($this->arrParam[$value[3]]) > 0 && strlen($this->arrParam[$value[4]]) > 0) &&  (strlen($this->arrParam[$value[5]]) > 0 || strlen($this->arrParam[$value[6]]) > 0 || strlen($this->arrParam[$value[7]]) > 0)) { 
    990             $date1 = $this->arrParam[$value[2]] .sprintf('%02d', $this->arrParam[$value[3]]) .sprintf('%02d', $this->arrParam[$value[4]]) .'000000'; 
    991             $date2 = $this->arrParam[$value[5]] .sprintf('%02d', $this->arrParam[$value[6]]) .sprintf('%02d', $this->arrParam[$value[7]]) .'235959'; 
    992  
    993             if (($this->arrErr[$value[2]] == '' && $this->arrErr[$value[5]] == '') && $date1 > $date2) { 
    994                 $this->arrErr[$value[2]] = '※ ' .$value[0]. 'と' .$value[1]. 'の期間指定が不正です。<br />'; 
     1384 
     1385        $start_year = $this->arrParam[$value[2]]; 
     1386        $start_month = $this->arrParam[$value[3]]; 
     1387        $start_day = $this->arrParam[$value[4]]; 
     1388        $end_year = $this->arrParam[$value[5]]; 
     1389        $end_month = $this->arrParam[$value[6]]; 
     1390        $end_day = $this->arrParam[$value[7]]; 
     1391        if ((strlen($start_year) > 0 || strlen($start_month) > 0 || strlen($start_day) > 0) 
     1392            && ! checkdate($start_month, $start_day, $start_year) 
     1393        ) { 
     1394            $this->arrErr[$keyname1] = 
     1395                "※ {$disp_name1}を正しく指定してください。<br />"; 
     1396        } 
     1397        if ((strlen($end_year) > 0 || strlen($end_month) > 0 || strlen($end_day) > 0) 
     1398            && ! checkdate($end_month, $end_day, $end_year) 
     1399        ) { 
     1400            $this->arrErr[$keyname2] = 
     1401                "※ {$disp_name2}を正しく指定してください。<br />"; 
     1402        } 
     1403        if ((strlen($start_year) > 0 && strlen($start_month) > 0 && strlen($start_day) > 0) 
     1404            && (strlen($end_year) > 0 || strlen($end_month) > 0 || strlen($end_day) > 0) 
     1405        ) { 
     1406            $date1 = sprintf('%d%02d%02d000000', $start_year, $start_month, $start_day); 
     1407            $date2 = sprintf('%d%02d%02d235959', $end_year, $end_month, $end_day); 
     1408 
     1409            if (($this->arrErr[$keyname1] == '' && $this->arrErr[$keyname2] == '') && $date1 > $date2) { 
     1410                $this->arrErr[$keyname1] = 
     1411                    "※ {$disp_name1}と{$disp_name2}の期間指定が不正です。<br />"; 
    9951412            } 
    9961413        } 
     
    10251442    public function CHECK_SET_TERM2($value) 
    10261443    { 
     1444        $disp_name1 = $value[0]; 
     1445        $disp_name2 = $value[1]; 
     1446        $keyname1 = $value[2]; 
     1447        $keyname2 = $value[8]; 
     1448 
    10271449        // 期間指定 
    1028         if (isset($this->arrErr[$value[2]]) || isset($this->arrErr[$value[8]])) { 
    1029             return; 
    1030         } 
     1450        if (isset($this->arrErr[$keyname1]) || isset($this->arrErr[$keyname2])) { 
     1451            return; 
     1452        } 
     1453 
    10311454        // $this->createParam($value); 
    1032         if ((strlen($this->arrParam[$value[2]]) > 0 || strlen($this->arrParam[$value[3]]) > 0 || strlen($this->arrParam[$value[4]]) > 0 || strlen($this->arrParam[$value[5]]) > 0) && ! checkdate($this->arrParam[$value[3]], $this->arrParam[$value[4]], $this->arrParam[$value[2]])) { 
    1033             $this->arrErr[$value[2]] = '※ ' . $value[0] . 'を正しく指定してください。<br />'; 
    1034         } 
    1035         if ((strlen($this->arrParam[$value[8]]) > 0 || strlen($this->arrParam[$value[9]]) > 0 || strlen($this->arrParam[$value[10]]) > 0 || strlen($this->arrParam[$value[11]]) > 0) && ! checkdate($this->arrParam[$value[9]], $this->arrParam[$value[10]], $this->arrParam[$value[8]])) { 
    1036             $this->arrErr[$value[8]] = '※ ' . $value[1] . 'を正しく指定してください。<br />'; 
    1037         } 
    1038         if ((strlen($this->arrParam[$value[2]]) > 0 && strlen($this->arrParam[$value[3]]) > 0 && strlen($this->arrParam[$value[4]]) > 0 && strlen($this->arrParam[$value[5]]) > 0) &&  (strlen($this->arrParam[$value[8]]) > 0 || strlen($this->arrParam[$value[9]]) > 0 || strlen($this->arrParam[$value[10]]) > 0 || strlen($this->arrParam[$value[11]]) > 0)) { 
    1039             $date1 = $this->arrParam[$value[2]] .sprintf('%02d', $this->arrParam[$value[3]]) .sprintf('%02d', $this->arrParam[$value[4]]) .sprintf('%02d', $this->arrParam[$value[5]]).sprintf('%02d', $this->arrParam[$value[6]]).sprintf('%02d', $this->arrParam[$value[7]]); 
    1040             $date2 = $this->arrParam[$value[8]] .sprintf('%02d', $this->arrParam[$value[9]]) .sprintf('%02d', $this->arrParam[$value[10]]) .sprintf('%02d', $this->arrParam[$value[11]]).sprintf('%02d', $this->arrParam[$value[12]]).sprintf('%02d', $this->arrParam[$value[13]]); 
    1041  
    1042             if (($this->arrErr[$value[2]] == '' && $this->arrErr[$value[8]] == '') && $date1 > $date2) { 
    1043                 $this->arrErr[$value[2]] = '※ ' .$value[0]. 'と' .$value[1]. 'の期間指定が不正です。<br />'; 
     1455 
     1456        $start_year = $this->arrParam[$value[2]]; 
     1457        $start_month = $this->arrParam[$value[3]]; 
     1458        $start_day = $this->arrParam[$value[4]]; 
     1459        $start_hour = $this->arrParam[$value[5]]; 
     1460        $start_minute = $this->arrParam[$value[6]]; 
     1461        $start_second = $this->arrParam[$value[7]]; 
     1462        $end_year = $this->arrParam[$value[8]]; 
     1463        $end_month = $this->arrParam[$value[9]]; 
     1464        $end_day = $this->arrParam[$value[10]]; 
     1465        $end_hour = $this->arrParam[$value[11]]; 
     1466        $end_minute = $this->arrParam[$value[12]]; 
     1467        $end_second = $this->arrParam[$value[13]]; 
     1468        if ((strlen($start_year) > 0 || strlen($start_month) > 0 || strlen($start_day) > 0 || strlen($start_hour) > 0) 
     1469            && ! checkdate($start_month, $start_day, $start_year) 
     1470        ) { 
     1471            $this->arrErr[$keyname1] = 
     1472                "※ {$disp_name1}を正しく指定してください。<br />"; 
     1473        } 
     1474        if ((strlen($end_year) > 0 || strlen($end_month) > 0 || strlen($end_day) > 0 || strlen($end_hour) > 0) 
     1475            && ! checkdate($end_month, $end_day, $end_year) 
     1476        ) { 
     1477            $this->arrErr[$keyname2] = 
     1478                "※ {$disp_name2}を正しく指定してください。<br />"; 
     1479        } 
     1480        if ((strlen($start_year) > 0 && strlen($start_month) > 0 && strlen($start_day) > 0 && strlen($start_hour) > 0) 
     1481            && (strlen($end_year) > 0 || strlen($end_month) > 0 || strlen($end_day) > 0 || strlen($end_hour) > 0) 
     1482        ) { 
     1483            $date1 = sprintf('%d%02d%02d%02d%02d%02d', 
     1484                $start_year, $start_month, $start_day, 
     1485                $start_hour, $start_minute, $start_second); 
     1486            $date2 = sprintf('%d%02d%02d%02d%02d%02d', 
     1487                $end_year, $end_month, $end_day, 
     1488                $end_hour, $end_minute, $end_second); 
     1489 
     1490            if (($this->arrErr[$keyname1] == '' && $this->arrErr[$keyname2] == '') && $date1 > $date2) { 
     1491                $this->arrErr[$keyname1] = 
     1492                    "※ {$disp_name1}と{$disp_name2}の期間指定が不正です。<br />"; 
    10441493            } 
    10451494            if ($date1 == $date2) { 
    1046                 $this->arrErr[$value[2]] = '※ ' .$value[0]. 'と' .$value[1]. 'の期間指定が不正です。<br />'; 
     1495                $this->arrErr[$keyname1] = 
     1496                    "※ {$disp_name1}と{$disp_name2}の期間指定が不正です。<br />"; 
    10471497            } 
    10481498 
     
    10671517    public function CHECK_SET_TERM3($value) 
    10681518    { 
     1519        $disp_name1 = $value[0]; 
     1520        $disp_name2 = $value[1]; 
     1521        $keyname1 = $value[2]; 
     1522        $keyname2 = $value[4]; 
     1523 
    10691524        // 期間指定 
    1070         if (isset($this->arrErr[$value[2]]) || isset($this->arrErr[$value[4]])) { 
    1071             return; 
    1072         } 
     1525        if (isset($this->arrErr[$keyname1]) || isset($this->arrErr[$keyname2])) { 
     1526            return; 
     1527        } 
     1528 
    10731529        // $this->createParam($value); 
    1074         if ((strlen($this->arrParam[$value[2]]) > 0 || strlen($this->arrParam[$value[3]]) > 0) && ! checkdate($this->arrParam[$value[3]], 1, $this->arrParam[$value[2]])) { 
    1075             $this->arrErr[$value[2]] = '※ ' . $value[0] . 'を正しく指定してください。<br />'; 
    1076         } 
    1077         if ((strlen($this->arrParam[$value[4]]) > 0 || strlen($this->arrParam[$value[5]]) > 0) && ! checkdate($this->arrParam[$value[5]], 1, $this->arrParam[$value[4]])) { 
    1078             $this->arrErr[$value[4]] = '※ ' . $value[1] . 'を正しく指定してください。<br />'; 
    1079         } 
    1080         if ((strlen($this->arrParam[$value[2]]) > 0 && strlen($this->arrParam[$value[3]]) > 0 && (strlen($this->arrParam[$value[4]]) > 0 || strlen($this->arrParam[$value[5]]) > 0))) { 
    1081             $date1 = $this->arrParam[$value[2]] .sprintf('%02d', $this->arrParam[$value[3]]); 
    1082             $date2 = $this->arrParam[$value[4]] .sprintf('%02d', $this->arrParam[$value[5]]); 
    1083  
    1084             if (($this->arrErr[$value[2]] == '' && $this->arrErr[$value[5]] == '') && $date1 > $date2) { 
    1085                 $this->arrErr[$value[2]] = '※ ' .$value[0]. 'と' .$value[1]. 'の期間指定が不正です。<br />'; 
     1530 
     1531        $start_year = $this->arrParam[$value[2]]; 
     1532        $start_month = $this->arrParam[$value[3]]; 
     1533        $end_year = $this->arrParam[$value[4]]; 
     1534        $end_month = $this->arrParam[$value[5]]; 
     1535        if ((strlen($start_year) > 0 || strlen($start_month) > 0) 
     1536            && ! checkdate($start_month, 1, $start_year) 
     1537        ) { 
     1538            $this->arrErr[$keyname1] = 
     1539                "※ {$disp_name1}を正しく指定してください。<br />"; 
     1540        } 
     1541        if ((strlen($end_year) > 0 || strlen($end_month) > 0) 
     1542            && ! checkdate($end_month, 1, $end_year) 
     1543        ) { 
     1544            $this->arrErr[$keyname2] = 
     1545                "※ {$disp_name2}を正しく指定してください。<br />"; 
     1546        } 
     1547        if ((strlen($start_year) > 0 && strlen($start_month) > 0 && (strlen($end_year) > 0 || strlen($end_month) > 0))) { 
     1548            $date1 = sprintf('%d%02d', $start_year, $start_month); 
     1549            $date2 = sprintf('%d%02d', $end_year, $end_month); 
     1550 
     1551            if (($this->arrErr[$keyname1] == '' && $this->arrErr[$keyname2] == '') && $date1 > $date2) { 
     1552                $this->arrErr[$keyname1] = 
     1553                    "※ {$disp_name1}と{$disp_name2}の期間指定が不正です。<br />"; 
    10861554            } 
    10871555        } 
     
    10911559    public function DIR_CHECK($value) 
    10921560    { 
    1093         if (isset($this->arrErr[$value[1]])) { 
    1094             return; 
    1095         } 
    1096         $this->createParam($value); 
    1097         if (!is_dir($this->arrParam[$value[1]])) { 
    1098             $this->arrErr[$value[1]] = '※ 指定した' . $value[0] . 'は存在しません。<br />'; 
     1561        $disp_name = $value[0]; 
     1562        $keyname = $value[1]; 
     1563 
     1564        if (isset($this->arrErr[$keyname])) { 
     1565            return; 
     1566        } 
     1567 
     1568        $this->createParam($value); 
     1569 
     1570        if (!is_dir($this->arrParam[$keyname])) { 
     1571            $this->arrErr[$keyname] = 
     1572                "※ 指定した{$disp_name}は存在しません。<br />"; 
    10991573        } 
    11001574    } 
     
    11031577    public function DOMAIN_CHECK($value) 
    11041578    { 
    1105         if (isset($this->arrErr[$value[1]])) { 
    1106             return; 
    1107         } 
    1108         if (strlen($this->arrParam[$value[1]]) > 0 && !preg_match("/^\.[^.]+\..+/i", $this->arrParam[$value[1]])) { 
    1109             $this->arrErr[$value[1]] = '※ ' . $value[0] . 'の形式が不正です。<br />'; 
     1579        $disp_name = $value[0]; 
     1580        $keyname = $value[1]; 
     1581 
     1582        if (isset($this->arrErr[$keyname])) { 
     1583            return; 
     1584        } 
     1585 
     1586        $input_var = $this->arrParam[$keyname]; 
     1587        $pattern = "/^\.[^.]+\..+/i"; 
     1588        if (strlen($input_var) > 0 && !preg_match($pattern, $input_var)) { 
     1589            $this->arrErr[$keyname] = "※ {$disp_name}の形式が不正です。<br />"; 
    11101590        } 
    11111591    } 
     
    11161596    public function MOBILE_EMAIL_CHECK($value) 
    11171597    { 
    1118         if (isset($this->arrErr[$value[1]])) { 
    1119             return; 
    1120         } 
    1121         $this->createParam($value); 
     1598        $disp_name = $value[0]; 
     1599        $keyname = $value[1]; 
     1600 
     1601        if (isset($this->arrErr[$keyname])) { 
     1602            return; 
     1603        } 
     1604 
     1605        $this->createParam($value); 
     1606 
    11221607        $objMobile = new SC_Helper_Mobile_Ex(); 
    1123         if (strlen($this->arrParam[$value[1]]) > 0 && !$objMobile->gfIsMobileMailAddress($this->arrParam[$value[1]])) { 
    1124             $this->arrErr[$value[1]] = '※ ' . $value[0] . 'は携帯電話のものではありません。<br />'; 
     1608        $input_var = $this->arrParam[$keyname]; 
     1609        if (strlen($input_var) > 0 
     1610            &&!$objMobile->gfIsMobileMailAddress($input_var) 
     1611        ) { 
     1612            $this->arrErr[$keyname] = 
     1613                "※ {$disp_name}は携帯電話のものではありません。<br />"; 
    11251614        } 
    11261615    } 
     
    11361625    public function CHECK_REGIST_CUSTOMER_EMAIL($value) 
    11371626    { 
    1138         if (isset($this->arrErr[$value[1]])) { 
    1139             return; 
    1140         } 
    1141         $this->createParam($value); 
    1142  
    1143         $register_user_flg =  SC_Helper_Customer_Ex::sfCheckRegisterUserFromEmail($this->arrParam[$value[1]]); 
     1627        $disp_name = $value[0]; 
     1628        $keyname = $value[1]; 
     1629 
     1630        if (isset($this->arrErr[$keyname])) { 
     1631            return; 
     1632        } 
     1633 
     1634        $this->createParam($value); 
     1635 
     1636        $register_user_flg = SC_Helper_Customer_Ex::sfCheckRegisterUserFromEmail($this->arrParam[$keyname]); 
    11441637        switch ($register_user_flg) { 
    11451638            case 1: 
    1146                 $this->arrErr[$value[1]] .= '※ すでに会員登録で使用されている' . $value[0] . 'です。<br />'; 
     1639                $this->arrErr[$keyname] .= 
     1640                    "※ すでに会員登録で使用されている{$disp_name}です。<br />"; 
    11471641                break; 
    11481642            case 2: 
    1149                 $this->arrErr[$value[1]] .= '※ 退会から一定期間の間は、同じ' . $value[0] . 'を使用することはできません。<br />'; 
     1643                $this->arrErr[$keyname] .= 
     1644                    "※ 退会から一定期間の間は、同じ{$disp_name}を使用することはできません。<br />"; 
    11501645                break; 
    11511646            default: 
     
    11631658    public function PROHIBITED_STR_CHECK($value) 
    11641659    { 
    1165         if (isset($this->arrErr[$value[1]]) || empty($this->arrParam[$value[1]])) { 
    1166             return; 
    1167         } 
    1168         $this->createParam($value); 
    1169         $targetStr     = $this->arrParam[$value[1]]; 
    1170         $prohibitedStr = str_replace(array('|', '/'), array('\|', '\/'), $value[2]); 
     1660        $disp_name = $value[0]; 
     1661        $keyname = $value[1]; 
     1662        $arrProhibitedStr = $value[2]; 
     1663 
     1664        if (isset($this->arrErr[$keyname]) || empty($this->arrParam[$keyname])) { 
     1665            return; 
     1666        } 
     1667 
     1668        $this->createParam($value); 
     1669 
     1670        $targetStr     = $this->arrParam[$keyname]; 
     1671        $prohibitedStr = str_replace(array('|', '/'), array('\|', '\/'), $arrProhibitedStr); 
    11711672 
    11721673        $pattern = '/' . join('|', $prohibitedStr) . '/i'; 
    11731674        if (preg_match_all($pattern, $targetStr, $matches)) { 
    1174             $this->arrErr[$value[1]] = '※ ' . $value[0] . 'は入力できません。<br />'; 
     1675            $this->arrErr[$keyname] = 
     1676                "※ {$disp_name}は入力できません。<br />"; 
    11751677        } 
    11761678    } 
     
    11851687    public function EVAL_CHECK($value) 
    11861688    { 
    1187         if (isset($this->arrErr[$value[0]])) { 
    1188             return; 
    1189         } 
     1689        $keyname = $value[0]; 
     1690        $input_var = $value[1]; 
     1691 
     1692        if (isset($this->arrErr[$keyname])) { 
     1693            return; 
     1694        } 
     1695 
    11901696        // $this->createParam($value); 
    1191         if ($this->evalCheck($value[1]) === false) { 
    1192             $this->arrErr[$value[0]] = '※ ' . $value[0] . ' の形式が不正です。<br />'; 
     1697 
     1698        if ($this->evalCheck($input_var) === false) { 
     1699            $this->arrErr[$keyname] = 
     1700                "※ {$keyname} の形式が不正です。<br />"; 
    11931701        } 
    11941702    } 
Note: See TracChangeset for help on using the changeset viewer.