我在表单类型为Symfony2的字段中使用整数类型。我的代码如下:
$builder->add('phoneNumber', 'integer',array(
'required' => true,
'constraints' => array(
'pattern' => '/^[0-9]\d*$/',
new Length(array(
'min' => 10,
'max' => 20
))
)));
虽然电话号码字段已经过验证,但会显示uparrow和downarrow,如果我点击它,我会从-1而不是文本框中获取数字。如果我将数字作为字段类型,则会调度文本框,但不验证该字段。如果有人能帮我解决这个问题,我将不胜感激。提前致谢。
答案 0 :(得分:0)
integer
字段不经常使用(仅适用于文字整数,即使不是总是如此)。对于电话号码,您肯定需要text
字段。
<强>更新强>
use Symfony\Component\Validator\Constraints\Regex;
use Symfony\Component\Validator\Constraints\Length;
$builder->add('phoneNumber', 'text', array(
'required' => true,
'constraints' => array(
new Regex(array(
'pattern' => '/^[0-9]*$/'
)) ,
new Length(array(
'min' => 10,
'max' => 20
))
)
));
@ Rufinus的回答可能是更好的选择。
答案 1 :(得分:0)