/** * @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()); }
/** * @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())); }
/** * @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); }
/** * @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); }
/** * 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'); }
/** * @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())); }