Sirius\Validation\Validator::validate PHP Method

validate() public method

Performs the validation
public validate ( mixed $data = null ) : boolean
$data mixed array to be validated
return boolean
    public function validate($data = null)
    {
        if ($data !== null) {
            $this->setData($data);
        }
        // data was already validated, return the results immediately
        if ($this->wasValidated === true) {
            return $this->wasValidated && count($this->messages) === 0;
        }
        foreach ($this->rules as $selector => $valueValidator) {
            foreach ($this->getDataWrapper()->getItemsBySelector($selector) as $valueIdentifier => $value) {
                /* @var $valueValidator \Sirius\Validation\ValueValidator */
                if (!$valueValidator->validate($value, $valueIdentifier, $this->getDataWrapper())) {
                    foreach ($valueValidator->getMessages() as $message) {
                        $this->addMessage($valueIdentifier, $message);
                    }
                }
            }
        }
        $this->wasValidated = true;
        return $this->wasValidated && count($this->messages) === 0;
    }

Usage Example

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;
 }
All Usage Examples Of Sirius\Validation\Validator::validate