とある技術者の備忘録的情報

EC-CUBE – パスワード登録時に半角英数字混在をチェックする

パスワードの登録時のチェックについて、数字のみ、または英字のみはエラーとしたい場合。

下記の2点を加えればOK。

□ SC_CheckError.php

/**
 * PASS_FORMAT_CHECK
 * 
 * 値が半角英数字の混在かチェック
 * @param array $value value[0]=項目名 value[1]=判定対象パスワード
 * @return void
 */
function PASS_FORMAT_CHECK($value) {
    if (isset($this->arrErr[$value[1]])) {
        return;
    }
    $this->createParam($value);
    if (preg_match("/[0-9].*[a-zA-Z]|[a-zA-Z].*[0-9]/s", $this->arrParam[$value[1]]) == 0) {
        $this->arrErr[$value[1]] = "※ " . $value[0] . "は半角英数字を混ぜて入力してください。<br />";
    }

□ SC_Helper_Customer.php

public function sfCustomerRegisterErrorCheck(&$objErr, $isAdmin = false)
{
    /*** 中略 ***/
    $objErr->doFunc(array('パスワード', 'password'), array('PASS_FORMAT_CHECK'));
    /*** 中略 ***/
}

関連記事

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

スポンサードリンク