add() public method

public add ( string $selector, string | callback $name = null, string | array $options = null, string $messageTemplate = null, string $label = null ) : Validator
$selector string
$name string | callback
$options string | array
$messageTemplate string
$label string
return Validator
Example #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;
 }
Example #2
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);
 }