0

I have this code below to transform a phone number with spaces between 555 555 555 to 555555555. Besides, I want to check if the number has 9 digits.

$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();

The problem: I get the error message "The telephone number must have 9 digits" even when it has 9 digits.

Here you have my transforming methods:

   public function transform($cadena)
    {
        $cadena = preg_replace('/\s+/', '', $cadena);

        return $cadena;
    }

    public function reverseTransform($cadena)
    {
        return $cadena;

    }
}

Any idea?

tirenweb
  • 30,963
  • 73
  • 183
  • 303

1 Answers1

2

try this as constraints

new Assert\Regex(pattern="/^\d{9}$/", message="exactMessage")
kimu
  • 46
  • 1