27.3. バリデータの書き方
前のページ | 第27章 Zend_Validate | 次のページ

## 27.3. バリデータの書き方

Zend_Validate には、よく使うバリデータ群が付属しています。しかし、 特定の目的のために使用する独自のバリデータを書くことは避けられないでしょう。 独自のバリデータを作成するには、 `Zend_Validate_Interface` を実装します。

`Zend_Validate_Interface` では、ふたつのメソッド `isValid()` および `getMessages()` を定義しています。これらを自分のクラスで実装します。 このインターフェイスを実装したクラスは、 `Zend_Validate::addValidator()` でバリデータチェインに追加することができます。

以下の例で、独自のバリデータを作成する方法を説明します。

    <?php
    require_once 'Zend/Validate/Interface.php';

    class MyValidator implements Zend_Validate_Interface
    {
        protected $_messages = array();

        public function isValid($value)
        {
            $this->_messages = array();

            // $requirement にもとづく検証を行います

            if (!$requirement) {
                $this->_messages[] = "Reason validation failed";
                return false;
            }

            return true;
        }

        public function getMessages()
        {
            return $this->_messages;
        }
    }

このバリデータのインスタンスをバリデータチェインに追加するには、次のようにします。

    <?php
    $validatorChain = new Zend_Validate();
    $validatorChain->addValidator(new MyValidator());

前のページ | 上に戻る | 次のページ
27.2. バリデータチェイン | ホーム | 27.4. メールアドレスの検証