2010-12-05 4 views
0

я иметь такую ​​форму:Symfony 1.4 Форма проверки без доктрины

форма действия = "...." метод = "получить"

Почтовый индекс: входной тип = имя "текст" = "место"

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

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

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

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

ответ

1

Это по существу то же, что и 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

Jeremy - Не совсем уверен, что вы имеете в виду ... У меня есть форма в шаблоне. Как связать все это вместе? Я все еще новичок в Symfony, и я ценю ваше терпение. Благодаря! – Lauren 2010-12-05 18:47:55

+0

Где вы можете создать свой анкета? Это должно произойти в действии, так же как и обработка формы. Можете ли вы вставить свой код или объяснить больше о том, что вы делаете? – 2010-12-06 15:04:31

0

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

Возьмите sfValidatorRegex с " [0-9] + "или sth по вашим потребностям!

Смежные вопросы