Zend Frameworkでのvalidate

Twitter ツイート Hatena Bookmark ブックマーク

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

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

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
<?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
Built with Hugo
テーマ StackJimmy によって設計されています。