Inheritance: implements Sirius\Validation\ValidatorInterface
Ejemplo n.º 1
0
 public function validate($rules = null)
 {
     $validator = new Validator();
     foreach ($this->rules as $rule) {
         $fields = explode(',', str_replace(' ', '', $rule[0]));
         foreach ($fields as $field) {
             count($rule) == 4 ? $validator->add($field, $rule[1], $rule[2], \I18n::translate($rule[3]), $this->label($field)) : $validator->add($field, $rule[1], [], \I18n::translate($rule[2]), $this->label($field));
         }
     }
     if (!$validator->validate($this->getAttributes())) {
         $messages = $validator->getMessages();
         foreach ($messages as $message) {
             foreach ($message as $error) {
                 $this->errors[] = (string) $error;
             }
         }
         return false;
     }
     return true;
 }
Ejemplo n.º 2
0
 public function __construct(RuleFactory $ruleFactory = null, ErrorMessage $errorMessagePrototype = null)
 {
     parent::__construct($ruleFactory, $errorMessagePrototype);
     // register rules [Added by kenjis]
     $rulesClasses = array('IsString', 'NoControl', 'NoTabAndNewLine', 'ValidUtf8');
     foreach ($rulesClasses as $class) {
         $fullClassName = '\\' . __NAMESPACE__ . '\\Rule\\' . $class;
         $name = strtolower(str_replace('\\', '', $class));
         $errorMessage = constant($fullClassName . '::MESSAGE');
         $labeledErrorMessage = constant($fullClassName . '::LABELED_MESSAGE');
         $this->ruleFactory->register($name, $fullClassName, $errorMessage, $labeledErrorMessage);
     }
 }
Ejemplo n.º 3
0
 /**
  * Set the request object to be validated
  * @param RequestInterface $request
  */
 public function getValidator(RequestInterface $request)
 {
     $validator = new Validator();
     $requestData = $request->getValidationData();
     foreach ($request->getValidationData() as $propertyName => $rules) {
         foreach ($rules as $rule) {
             $ruleName = $rule['name'];
             $ruleOptions = empty($rule['value']) ? null : $rule['value'];
             $ruleMessage = empty($rule['message']) ? null : $rule['message'];
             if ($ruleName == "Regex") {
                 $ruleOptions = array('pattern' => $rule['value']);
             }
             if ($ruleName == "Callback") {
                 $ruleOptions = array('callback' => $rule['value']);
             }
             $validator->add($propertyName, $ruleName, $ruleOptions, $ruleMessage);
         }
     }
     $this->validator = $validator;
     $this->request = $request;
     return $this;
 }
 /**
  * @param array $formData
  * @param array $rules
  * @param array $messages
  *
  * @return \App\Components\Validation\ValidatorInterface
  */
 public function make(array $formData, array $rules, array $messages = array())
 {
     $validator = new Validator();
     foreach ($rules as $field => $rules) {
         if (!is_array($rules)) {
             $rules = array($rules => null);
         }
         foreach ($rules as $key => $value) {
             if (is_string($key)) {
                 // real rule name
                 $rule = $key;
                 $options = $value;
             } else {
                 // otherwise the key is not the rule name, but the value is. No options specified
                 $rule = $value;
                 $options = null;
             }
             $messages = isset($messages[$field]) && isset($messages[$field][$rule]) ? $messages[$field][$rule] : null;
             $validator->add($field, $rule, $options, $messages);
         }
     }
     $validator->validate($formData);
     return new SiriusValidatorAdapter($validator);
 }
 /**
  * {@inheritdoc}
  */
 public function errors()
 {
     return $this->validator->getMessages();
 }