「携帯サイト制作には欠かせないデータ入力チェック『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が形式に則っているかチェックします。