require_once("Zend/Loader.php");
//バリデータクラスと関数クラス(Int)を導入します。インターフェースクラスを定義します;
Zend_Loader::loadClass('Zend_Validate');
Zend_Loader::loadClass('Zend_Validate_Int');
Zend_Loader::loadClass('Zend_Validate_Interface');
//カスタムバリデータを追加しますfunction class (GongBeiNum )[Public multiple]
クラス GongBeiNum は Zend_Validate_Interface を実装します
{
//インターフェイスでエラー メッセージ報告属性を宣言します
protected $_messages = array();
//インターフェイスで検証メソッドを宣言します
public function isValid($num)
{
if (!($num%3==0) && !($num%5==0))
{
//検証が失敗した場合、エラーメッセージの戻り値が与えられますエラーメッセージレポート属性へ
$this -> _messages[] = "入力した値は 3 と 5 の公倍数ではありません!"
// プログラムを終了します
return false;
}
// return true
return true;
}
// エラー報告メソッドのインターフェースを定義します
public function getMessages()
{
return $this -> _messages;
}
// エラーメッセージの抽出を定義します(オプション)
public function getErrors( )
{
}
}
// クラス外で公倍数検出メソッドを定義する
function check_num($num)
{
// バリデータークラスをインスタンス化する
$Validate = new Zend_Validate()
// バリデーター関数 function class を追加します。カスタムバリデーター関数クラスを追加してバリデーターチェーンを形成します
$Validate -> addValidator(new Zend_Validate_Int())
-> addValidator(new GongBeiNum());
//検証パラメーター
if (! $Validate -> isValid($num))
{
//エラーが発生した場合は、エラー メッセージをループして
foreach ($Validate -> getMessages() as $value)
{
echo $value . " ;
return false;
}
}
}
//判定値を指定
$num1 = '15';
//検証メソッドを実行
check_num($num1);
?>