要使用小部件在symfony中创建复选框并验证它?

时间:2009-11-18 07:38:50

标签: php symfony1

我正在使用的symfony中的代码,

$this->setWidgets(array(
    'mobile'                       =>new sfWidgetFormInput(),
    'subscribetosms'               =>new sfWidgetFormInputCheckbox(),
));

我想验证复选框,还要编码以从复选框中取值

1 个答案:

答案 0 :(得分:4)

验证symfony中的表单字段你需要设置这样的验证器(假设你在表单类中):

$this->setValidators(array(
      'mobile'          => new sfValidatorString(array(...)),
      'subscribetosms'  => new sfValidatorInteger(array(...))
    ));

问题是,您想要验证什么?如果您想要某种值发送到您的PHP脚本,如果选中该复选框,您需要在窗口小部件中设置此值。

new sfWidgetFormInputCheckbox(array('value_attribute_value'=>'your_value' )

现在您可以配置验证程序来验证此值(sfValidatorString表示字符串,sfValidatorInteger表示整数)。

要在验证后获取操作中的值:

if ($this->form->isValid()) {
  $myValue = $this->form->getValue('subscribetosms');
}