Symfony2:使用Form Validator验证日期会返回错误

时间:2011-11-10 17:00:47

标签: php symfony

我在我的表单中添加了一个类型为'date'的元素,然后它有一个验证规则,它指定表单元素值必须是date类型,否则返回错误。但是,Symfony不是处理验证,而是返回Exception。请参阅以下代码:

UserType.php

$builder->add('startdate', 'date', array(
              'label' => 'Start Date', 
              'widget' => 'single_text', 
              'format' => 'yyyy-MM-dd')
         );

Validation.yml

Acme\StoreBundle\Entity\User:
    properties:
        startdate:
            - Date:
                  message: You must specify a valid release date

然后当我输入'2001-01-aaa'时希望Symfony会注意到该值不是正确的格式并按指定的方式处理错误,而是我得到了这个

Failed to match value '2007-01-aaa' with pattern 'yyyy-MM-dd'
500 Internal Server Error - InvalidArgumentException 

我在这里做错了吗?

提前致谢

1 个答案:

答案 0 :(得分:1)

这是一个错误。现在是fixed and merged into 2.0 branch。它有希望包含在下一个次要版本中。