2015-11-04 33 views
-1

我创造的Symfony2和一个字段形式如下:正则表达式不会对表单验证工作

->add('periodicity', 'number', array(
       'required' => true, 
       'attr'  => array(
        'autocomplete' => 'off', 
        'placeholder' => '2', 
       ), 
       'label'  => 'periodicity*', 
       'trim'  => true, 
       'constraints' => array(
        new Constraints\NotBlank(), 
        new Assert\Regex(array(
         'pattern' => "/^[1-9]|1[0-2]$/", 
         'match' => true, 
         'message' => "Tapez des chiffres entre 1 et 12")), 
       ) 
      )) 

在窗体的验证,当我把一个数比优势12我没有得到任何错误。

+1

我知道你有一个答案,但'范围'约束可能会更好地为这个用例。 http://symfony.com/doc/current/reference/constraints/Range.html – qooplmao

回答

2

您需要将它们放入组中。

^([1-9]|1[0-2])$