Значение sfValidator == строка - PullRequest
0 голосов
/ 06 марта 2012

Как я могу проверить в Symfony 1.4, является ли значение определенной строкой.

В моем html-коде я ввожу значение по умолчанию:

<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.'
        )),

sfValidator должен выдавать сообщение об ошибке, когда значениеRecipe name. Как я могу сделать это в Symfony?Я много читал о max_- & min_length и sfValidatorSchemaCompare, но ничего со строкой.Кто-нибудь может мне помочь?

Спасибо!

Гуннар

1 Ответ

1 голос
/ 07 марта 2012

Вы можете использовать postValidator В твоем классе класс:

public function checkValue($validator, $values) {

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

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

  }
  else{
       return $values; 
       }
  }

НО , я думаю, что правильный путь для вас - использовать заполнитель для поля формы. Вы можете прочитать об этом:

Атрибут-заполнитель HTML5

И плагин для IE:

jQuery Плагин-заполнитель HTML5

...