在getValues()之后更改Symfony 1.4表单值

时间:2010-06-03 03:18:30

标签: php symfony-1.4

我对symfony表单值有一些问题(我猜这是干净的值,但还不是很清楚)。这是问题所在:

我的表单中有一个像这样的sfFormDateJQueryUI小部件设置:

$this->setWidgets(array(
          'needDate'    => new sfWidgetFormDateJQueryUI(),
        ));
$this->setValidators(array(          
 'needDate'    => new sfValidatorDate(array(
             'required' => true,
             'date_format' => '/^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/',
             'date_output' => 'd/m/Y'
            )),
        ));

然后,当我提交时,比如说26/06/2010,它在HTTP标题中显示(通过Firebug查看)和$ request(我只是打印它)。但在我通过

获得价值之后
$formVal = $form->getValues();

$formVal["needDate"]中的日期值变为今天的日期(03/06/2010)。我真的不明白,在检查API文档后,它说getValues将返回'clean'值。那是因为它吗?我不明白什么是'干净'。

先谢谢..

1 个答案:

答案 0 :(得分:0)

不知怎的,我解决了这个问题。 事实证明,该值无法验证,因此当我将验证器更改为:

'needDate' => new sfValidatorRegex(array(
                'pattern' => '/^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/'
              ))

一切正常。