2012-03-06 14 views
0

値が特定の文字列である場合、symfony 1.4をどのようにチェックインできますか?私は、デフォルト値を入力し、私のHTMLコードでsfValidatorの値==文字列

<input ... value="Recipe name."> 

私の現在形:

$recipename_value = 'Recipe name.'; 
$this->setWidgets(array(
     'recipename' => new sfWidgetFormInputText(array(), array('size' => '40', 'maxlength' => '150', 
     'value' => $recipename_value, 

$this->setValidators(array(
     'recipename' => new sfValidatorString(array('max_length' => 150), array(
     'required' => 'Please enter a recipe name.' 
     )), 

値がRecipe name.私はどうすればよいのときsfValidatorは、エラーメッセージを与える必要がありますそれはsymfonyでですか?私はmax_-& min_lengthとsfValidatorSchemaCompareについてたくさん読むが、文字列は何も読んでいない。誰かが私を助けることができますか?

ありがとうございます!

グンナー

答えて

1

あなたのフォームクラスでpostValidator を使用することができます。

public function checkValue($validator, $values) { 

    if ($values['recipename']=="Recipe name."){ 

    $message = 'Your message'; 
    throw new sfValidatorError($validator, $message); 

    } 
    else{ 
     return $values; 
     } 
    } 

しかし、私はあなたのための真の方法は、あなたのフォームフィールドのプレースホルダを使用することだと思います。あなたはそれについて読むことができます:IE用

HTML5 placeholder Attribute

し、プラグイン:

jQuery HTML5 Placeholder Plugin

+0

おかげで、それは良いです! – craphunter

関連する問題