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'));
/*** 中略 ***/
}



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