我在下面使用此代码来转换555 555 555
到555555555
之间的空格的电话号码。此外,我想检查号码是否有9位数。
$form = $builder
->add('Nombre', 'text')
->add('Email', 'text')
->getForm();
$builder->add($builder->create('telefono', 'text', array(
'constraints' => new Assert\Length(array('min'=> 9, 'max' => 9, 'exactMessage' => 'The telephone number must have 9 digits')))
->addModelTransformer($transformer));
$form = $builder->getForm();
问题:我收到错误消息"电话号码必须有9位数字"即使它有9位数字。
这里有我的转换方法:
public function transform($cadena)
{
$cadena = preg_replace('/\s+/', '', $cadena);
return $cadena;
}
public function reverseTransform($cadena)
{
return $cadena;
}
}
有什么想法吗?
答案 0 :(得分:2)
将此作为约束
new Assert\Regex(pattern="/^\d{9}$/", message="exactMessage")