Exemple #1
0
 /**
  * @return array
  */
 public function getJsValidation()
 {
     if (!$this->jsValidation) {
         return array();
     }
     return array('field' => $this->validation->getName(), 'message' => str_replace('{{ limit }}', $this->validation->getValue(), $this->constrain->minMessage), 'validation' => $this->validation->getKey());
 }
Exemple #2
0
 /**
  * @param Validation        $validation
  * @param bool              $jsValidation
  * @param \Silex\Translator $translator
  */
 public function __construct($validation, $jsValidation = false, $translator)
 {
     $this->validation = $validation;
     $this->constrain = new Assert\NotBlank(array('message' => $translator->trans($this->validation->getMessage())));
     $this->jsValidation = $jsValidation;
     if ($jsValidation) {
         $this->options['attr'] = array();
         $this->options['attr']['ng-required'] = 'true';
     }
     $this->options = array_merge($this->options, array('required' => $this->validation->getValue()));
 }
Exemple #3
0
 /**
  * @param Validation        $validation
  * @param bool              $jsValidation
  * @param \Silex\Translator $translator
  */
 public function __construct($validation, $jsValidation = false, $translator)
 {
     $errorOptions = array('pattern' => $validation->getValue());
     if ($validation->getMessage()) {
         $errorOptions = array_merge($errorOptions, array('message' => $translator->trans($validation->getMessage())));
     }
     if ($jsValidation) {
         $this->options['attr'] = array();
         $this->options['attr']['ng-pattern'] = $validation->getValue();
     }
     $this->jsValidation = $jsValidation;
     $this->validation = $validation;
     $this->constrain = new Assert\Regex($errorOptions);
 }
Exemple #4
0
 /**
  * @param Validation        $validation
  * @param bool              $jsValidation
  * @param \Silex\Translator $translator
  */
 public function __construct($validation, $jsValidation = false, $translator)
 {
     $errorOptions = array('type' => 'integer');
     if ($validation->getMessage()) {
         $errorOptions = array_merge($errorOptions, array('message' => $translator->trans($validation->getMessage())));
     }
     if ($jsValidation) {
         $this->options['attr'] = array('data-mask' => $validation->getValue(), 'ng-pattern' => '/\\d/');
     }
     $this->jsValidation = $jsValidation;
     $this->validation = $validation;
     $this->constrain = new Assert\Type($errorOptions);
 }
Exemple #5
0
 /**
  * Sets validation
  *
  * @param Validation $validationClass
  * @return mixed
  */
 protected function setValidation(Validation $validationClass)
 {
     if ('required' === $validationClass->getKey()) {
         return new Constrains\Required($validationClass, 'js' === $this->validationType, $this->translator);
     } elseif ($validationClass->getValue() && 'min' === $validationClass->getKey()) {
         return new Constrains\Min($validationClass, 'js' === $this->validationType, $this->translator);
     } elseif ($validationClass->getValue() && 'max' == $validationClass->getKey()) {
         return new Constrains\Max($validationClass, 'js' === $this->validationType, $this->translator);
     } elseif ('email' == $validationClass->getKey()) {
         return new Constrains\Email($validationClass, 'js' === $this->validationType, $this->translator);
     } elseif ($validationClass->getValue() && 'regexp' == $validationClass->getKey()) {
         return new Constrains\Regexp($validationClass, 'js' === $this->validationType, $this->translator);
     } elseif ($validationClass->getValue() && 'phone' == $validationClass->getKey()) {
         return new Constrains\Phone($validationClass, 'js' === $this->validationType, $this->translator);
     } elseif ('file' == $validationClass->getKey()) {
         return new Constrains\Collection($validationClass);
     }
     throw new \LogicException('Can\'t find form type');
 }
Exemple #6
0
 /**
  * @param Validation $validation
  * @param bool       $jsValidation
  */
 public function __construct($validation, $jsValidation = false)
 {
     $this->validation = $validation;
     $this->constrain = new Assert\Count(array('max' => 4));
     $this->options = array_merge($this->options, array('required' => $this->validation->getValue()));
 }