public static function loadValidatorMetadata(ClassMetadata $metadata) { $metadata->addConstraint(new Callback('validate')); $metadata->addPropertyConstraint('firstName', new NotBlank()); $metadata->addPropertyConstraint('firstName', new Length(array('min' => 2, 'max' => 50))); $metadata->addPropertyConstraint('lastName', new NotBlank()); $metadata->addPropertyConstraint('lastName', new Length(array('min' => 2, 'max' => 50))); $metadata->addPropertyConstraint('whereLearnt', new Choice(array('choices' => WhereLearntAbout::getChoiceIds()))); $metadata->addPropertyConstraint('age', new NotBlank()); $metadata->addPropertyConstraint('email', new Email()); $metadata->addPropertyConstraint('whyParticipate', new Length(array('min' => 2, 'max' => 200))); $metadata->addPropertyConstraint('howManyTimes', new NotBlank()); $metadata->addPropertyConstraint('howManyTimes', new Range(['min' => 0])); }