public function validate(array $values, array &$errorsList): bool
    {
        $hasErrors = false;
        foreach ($this->data as $item) {
            $type = $item[0];
            $errorMessage = $item[1];
            $elementName = $item[2];
            $value = isset($values[$elementName]) ? (string) $values[$elementName] : '';
            $hasError = false;
            if ($type === 'required') {
                if (strlen($value) === 0) {
                    $hasError = true;
                }
            } elseif ($type === 'minLength') {
                if (strlen($value) < $item[3]) {
                    $hasError = true;
                }
            } elseif ($type === 'maxLength') {
                if (strlen($value) > $item[3]) {
                    $hasError = true;
                }
            } elseif ($type === 'email') {
                if (!filter_var($value, FILTER_VALIDATE_EMAIL)) {
                    $hasError = true;
                }
            } elseif ($type === 'regExp') {
                if (!filter_var($value, FILTER_VALIDATE_REGEXP, ['options' => ['regexp' => $item[3]]])) {
                    $hasError = true;
                }
            }
            if ($hasError) {
                $errorsList[] = [
                    'elementName' => $elementName,
                    'errorMessage' => $errorMessage
                ];
                $hasErrors = true;
            }
        }
        return !$hasErrors;
    }
public function validate(array $values, array &$errorsList): bool
    {
        $hasErrors = false;
        foreach ($this->data as $item) {
            $type = $item[0];
            $errorMessage = $item[1];
            $elementName = $item[2];
            $value = isset($values[$elementName]) ? (string) $values[$elementName] : '';
            $hasError = false;
            if ($type === 'required') {
                if (strlen($value) === 0) {
                    $hasError = true;
                }
            } elseif ($type === 'minLength') {
                if (strlen($value) < $item[3]) {
                    $hasError = true;
                }
            } elseif ($type === 'maxLength') {
                if (strlen($value) > $item[3]) {
                    $hasError = true;
                }
            } elseif ($type === 'email') {
                if (!filter_var($value, FILTER_VALIDATE_EMAIL)) {
                    $hasError = true;
                }
            } elseif ($type === 'regExp') {
                if (!filter_var($value, FILTER_VALIDATE_REGEXP, ['options' => ['regexp' => $item[3]]])) {
                    $hasError = true;
                }
            }
            if ($hasError) {
                $errorsList[] = [
                    'elementName' => $elementName,
                    'errorMessage' => $errorMessage
                ];
                $hasErrors = true;
            }
        }
        return !$hasErrors;
    }
public function validate ( array $ values , array & $ errorsList ) : bool { $ hasErrors = false ; foreach ( $ this -> data as $ item ) { $ type = $ item [ 0 ] ; $ errorMessage = $ item [ 1 ] ; $ elementName = $ item [ 2 ] ; $ value = isset ( $ values [ $ elementName ] ) ? ( string ) $ values [ $ elementName ] : '' ; $ hasError = false ; if ( $ type === 'required' ) { if ( strlen ( $ value ) === 0 ) { $ hasError = true ; } } elseif ( $ type === 'minLength' ) { if ( strlen ( $ value ) < $ item [ 3 ] ) { $ hasError = true ; } } elseif ( $ type === 'maxLength' ) { if ( strlen ( $ value ) > $ item [ 3 ] ) { $ hasError = true ; } } elseif ( $ type === 'email' ) { if ( ! filter_var ( $ value , FILTER_VALIDATE_EMAIL ) ) { $ hasError = true ; } } elseif ( $ type === 'regExp' ) { if ( ! filter_var ( $ value , FILTER_VALIDATE_REGEXP , [ 'options' => [ 'regexp' => $ item [ 3 ] ] ] ) ) { $ hasError = true ; } } if ( $ hasError ) { $ errorsList [ ] = [ 'elementName' => $ elementName , 'errorMessage' => $ errorMessage ] ; $ hasErrors = true ; } } return ! $ hasErrors ; }
Validates the values passed

@param array $values The values to checks
@param array $errorsList List of validation errors
@return bool TRUE if no validation errors found. FALSE otherwise.
Validates the values passed