Zend Frameworkでのvalidate

May 30, 2010,
tags: php zend framework


このエントリーをはてなブックマークに追加

Zend Framework 徹底マスターを見ながら、Zend Framework触っているのですが、バリデートがサンプル通りだと動かなかったです。

エラーメッセージを設定する際に、複数のエラーメッセージを指定に配列を使って行うと、うまくエラーメッセージが表示できません。Arrayって表示されてしまった。
どうやらsetMessageとsetMessagesメソッドを間違えて、setMessageメソッドつかってました・・・。
でもまあ、setMessagesで配列で定義するのもあれだなーとおもって、setMessageで一つ一つエラーメッセージをいれてったほうがかっこいいような気もします。

あーでも、配列でいっきにエラーメッセージの定義しておいて、って場合はやっぱりsetMessagesの方がいいのか。
どちらにしろ、まだZend Framework使い始めたばかりになのでZendの感覚がわかりませんw

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

$str = '24日間';   // これは不正な形式

$validator = new Zend_Validate_Alnum();

// エラーメッセージをセットする
$validator->setMessage('[%value%]には半角英数字以外の文字が含まれています。',Zend_Validate_Alnum::NOT_ALNUM )
$validator->setMessage('文字列が入力されていません',Zend_Validate_Alnum::STRING_EMPTY);

// バリデート処理
if (!$validator->isValid($str)) {
    $msg = $validator->getMessages();
    foreach ($msg as $value) {
        echo $value . '<br />';
    }
} else {
    echo 'チェック処理を通過しました!';
}

cakePHPよりバリデーションとかめんどくさそうだけど、その分自由度が高いのかなとか思いました。

comments powered by Disqus