【No.7】『0』と『null』を区別した未入力チェック – Zend Validateの派生クラスを公開します

By nakayama - 09/03/13 - このエントリをはてなブックマークに追加このエントリをYahoo!ブックマークに追加このエントリをdel.icio.usに追加このエントリをFC2ブックマークに追加

「携帯サイト制作には欠かせないデータ入力チェック『Zend Validate』の派生クラスを公開します」の7つ目として厳密な未入力チェックを行なうクラスを公開します。

厳密な未入力チェック

PHPの言語使用では『0』と『null』が厳密に区別されていません。
Zend Framework標準のNotEmptyクラスもそれに合わせた形で 「0」と「null」を区別せず、「0」を入力した場合も未入力扱いになります。
ただ、未入力チェックを掛ける項目でも「0」を許したい場合があり、その場合は今回公開するクラスを使って下さい。



require_once 'Zend/Validate/Abstract.php';

class My_Validate_SelectNotEmpty extends Zend_Validate_Abstract
{
    
    const IS_EMPTY = 'isEmpty';
    
    /**
     *  @var array
     */
    protected $_messageTemplates = array(
        self::IS_EMPTY => '%sを選択して下さい'
    );
    
    /**
     * 
     * 選択肢が未入力でない場合のみtrueを返す
     * 
     * @param  string  $value
     * @return boolean
     */
    public function isValid($value)
    {
        $valueString = (string) $value;

        $this->_setValue($valueString);
        
        if ($valueString === '0') {
            return true;
        }

        if (empty($value)) {
            $this->_error();
            return false;
        }
        
        return true;
    }
    
}

その他Zend Validate派生クラス

【No.1】. ひらがなチェック

データにひらがな以外の文字があるかチェックを行ないます。

【No.2】.メールアドレスチェック

携帯電話で使われているメールアドレスをチェックを行ないます。

【No.3】. 電話番号チェック

電話番号の形式になっているかチェックします。

【No.4】. 郵便番号チェック

郵便番号の形式になっているかチェックします。

【No.5】.全角文字数チェック

全角文字数の最小、最大数をチェックします。

【No.6】.全角カタカナチェック

データに全角カタカナ以外の文字があるかチェックを行ないます。

【No.7】.厳密な未入力チェック

『0』と『null』を区別した入力チェックを行ないます

【No.8】.URLチェック

URLが形式に則っているかチェックします。