、AlnumバリデータのすべてのZendのバリデータについては
<?php
// application/lang/en/translate.php
return array(
Zend_Validate_Alnum::NOT_ALNUM => 'Not alnum!!',
Zend_Validate_Alnum::INVALID => 'Not valid!!'
);
のためだ、あなたもあなたのメッセージに%value%
プレースホルダを使用することができます
$this->addElement('text', 'myTextField', array(
'label' => 'The Label',
'description' => 'The description for the field...',
'filters' => array(
'StringTrim',
// etc
),
'validators' => array(
array('NotEmpty', true, array(
'messages' => 'This field is required',
)),
array('AnotherValidator', true, array(
'messages' => 'Bad value',
)),
// etc
),
));
SAはあなたです:フォーム要素が、私はいつも(Zend_Formのを拡張するクラスの内部で)このようにそれを行っていますこれはうまくいかなかったのですか?あるいは、より一般的な文脈でバリデータを使用していますか?その場合、@Phil Brown(素晴らしい!)の答えがその仕事をします。
+1クール!私はこれを知らなかった。しかし、2つの異なるバリデーターがメッセージキーに同じ値を使用すると、これは問題になりませんでしたか? –
@David Zendは紛争を避けるために世話をしたと思います。クラスを見ると、メッセージキーには接頭辞または接尾辞のいずれかのクラス名が付きます(例: 'Zend_Validate_Alnum :: INVALID == 'alnumInvalid'') – Phil
Aaah、gotcha。うん、それらのZendボーイズはかなり賢いです。ですから、私は、 'Zend_Translate'を意識していることを主張する外部開発のバリデータが何らかの類似の '名前空間'スキームに従う必要があることを確かめる必要があります。ありがとう! ;-) –