Advertisement
Guest User

Untitled

a guest
Feb 7th, 2016
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.46 KB | None | 0 0
  1. $form_state->cleanValues();
  2. $this->entity = $this->buildEntity($form, $form_state);
  3.  
  4. use SymfonyComponentValidatorConstraints as Assert;
  5. use SymfonyComponentValidatorContextExecutionContextInterface;
  6. use SymfonyComponentValidatorMappingClassMetadata;
  7. use SymfonyComponentValidatorValidation;
  8.  
  9. /**
  10. * Validates my config entity.
  11. *
  12. * @return SymfonyComponentValidatorConstraintViolationList
  13. * List of violations. Empty if valid.
  14. */
  15. public function validate() {
  16. $validator = Validation::createValidator();
  17. ->addMethodMapping('loadValidatorMetadata')
  18. ->getValidator();
  19. return $validator->validate($this);
  20. }
  21.  
  22. /**
  23. * Defines validation rules for this config entity.
  24. */
  25. public static function loadValidatorMetadata(ClassMetadata $metadata) {
  26. // Same validator rules.
  27. // Add your own as required.
  28. // Note this is static, so you don't have $this in scope.
  29. $metadata->addPropertyConstraint('someProperty', new AssertNotBlank(['message' => 'Some property cannot be blank']));
  30. // But if you add a validation callback, you can operate in the context
  31. // of an instance.
  32. $metadata->addConstraint(new AssertCallback(['methods' => ['someValidationCallback']]));
  33. }
  34.  
  35. /**
  36. * Validation callback for some field.
  37. */
  38. public function someValidationCallback(ExecutionContextInterface $context) {
  39. if ($this->something === 'something it should not be') {
  40. $context->buildViolation("Can't let you do that Dave.")
  41. ->atPath('something')
  42. ->addViolation();
  43. }
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement