2012-01-04 18 views
2

私はZend Frameworkを学ぶ冒頭にいます。Zend ValidatorRulesの最大と最小のstringLengthを設定します

私は、文字列は、たとえば、最大値を超え200を持っているかどうかを確認する必要があり、最小の長さはここで

0は、私が作成したvalidatorRulesです:

$validators = array('descr' => array(array('stringLength', array('max'=>200)))); 

しかし、このバリデータがあればfalseを返します私がしたいことは、私の文字列が200を下回っていることを確認してくださいバリデータは0です。

StringLengthの

編集(0の長さが許容される)である:私はuはないです代わりに、singフォームは、クエリ文字列からの入力を受け付けるREST Webサービスですので、 'setRequired'は私の場合は機能しません。

ありがとうございました。

答えて

3

OKあなたはsetRequired(true);を持っている(またはあなたが好きな場合は、falseに設定)して、これが私のために働いたaddValidator('stringLength', false, array(0, 200))

+0

返信いただきありがとうございます。私は私の質問にはっきりと述べていないと思う。バリデーターがtrueを返すようにしたい、文字列が長さ0であっても。 – VHanded

+0

ああ申し訳ありませんが、私の編集 – redmoon7777

+0

を参照してくださいありがとう、しかし、私はZend_Formを使用していない、代わりに、私はZend_Rest_Controllerを使用しています、入力がquerystringから渡されます。 – VHanded

-1

を使用していないことを確認してください。しかし、テキストの長さが2〜200の間でない場合、エラーメッセージは表示されません。

私が使用したコードです。

 
    $this->addElement('text', 'name', array(
     'filters' => array('StringTrim'), 
     'validators' => array(array('StringLength', false, array(2, 100)),), 
     'required' => true, 
     'label' => "First Name", 
     'value' => "firstname", 
     'class' => 'classname' 
    )); 

+0

'StringLength'の後に、何がparam falseを意味するのですか? –

関連する問題