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()); ?>