Symfony 1.4 Проверка формы без доктрины - PullRequest
0 голосов
/ 05 декабря 2010

У меня есть эта форма:

форма действия = "...." method = "get"

Почтовый индекс: тип ввода = "text" name = "location"

Я хотел бы проверить, что длина почтового индекса равна пяти, и что все они являются числами.

Я застрял на том, как / где это сделать, не создавая форму доктрины и не пропуская sfValidators черезФункция configure ().

Я нашел некоторую документацию для этого в 1.2, но похоже, что она была удалена в 1.4.

Спасибо за любую помощь!

Ответы [ 2 ]

1 голос
/ 05 декабря 2010

По сути, это то же самое, что 1.4 и 1.2. Вам не нужно создавать экземпляр sfDoctrineForm, просто sfForm:

class MyForm extends BaseForm
{
  public function configure()
  {
    $this->setWidget('zip_code', new sfWidgetFormInputText(array(), array('size' => 5, 'maxlength' => 5));
    $this->setValidator('zip_code', new sfValidatorInteger(array('min' => 0, 'max' => 99999));
  }
}

Затем вы должны связать форму и использовать sfForm :: getValues ​​() для получения связанных значений.

0 голосов
/ 19 августа 2011

Я бы не ожидал, что sfValidatorInteger здесь, поэтому в Германии почтовые индексы могут также начинаться с 0 (например, «08122») - или чего бы то ни было во всем мире: -)

Возьмите sfValidatorRegex с"[0-9] +" или что-то в этом роде!

...