0 follower

Final Class Yiisoft\FormModel\ValidationRulesEnricher

InheritanceYiisoft\FormModel\ValidationRulesEnricher
ImplementsYiisoft\Form\ValidationRulesEnricherInterface

Psalm Types

Name Value
EnrichmentType array{inputAttributes?: array}

Public Methods

Hide inherited methods

Method Description Defined By
process() Yiisoft\FormModel\ValidationRulesEnricher

Method Details

Hide inherited methods

process() public method

public array|null process ( \Yiisoft\Form\Field\Base\BaseField $field, mixed $rules )
$field \Yiisoft\Form\Field\Base\BaseField
$rules mixed

                public function process(BaseField $field, mixed $rules): ?array
{
    if (!is_iterable($rules)) {
        return null;
    }
    if ($field instanceof DateTimeInputField) {
        $enrichment = [];
        foreach ($rules as $rule) {
            if ($this->hasWhen($rule)) {
                continue;
            }
            $this->processRequiredToRequired($rule, $enrichment);
        }
        return $enrichment;
    }
    if ($field instanceof Email) {
        $enrichment = [];
        foreach ($rules as $rule) {
            if ($this->hasWhen($rule)) {
                continue;
            }
            $this->processRequiredToRequired($rule, $enrichment);
            $this->processLengthToMinMaxLength($rule, $enrichment);
            $this->processRegexToPattern($rule, $enrichment);
        }
        return $enrichment;
    }
    if ($field instanceof File) {
        $enrichment = [];
        foreach ($rules as $rule) {
            if ($this->hasWhen($rule)) {
                continue;
            }
            $this->processRequiredToRequired($rule, $enrichment);
        }
        return $enrichment;
    }
    if ($field instanceof Number) {
        $enrichment = [];
        foreach ($rules as $rule) {
            if ($this->hasWhen($rule)) {
                continue;
            }
            $this->processRequiredToRequired($rule, $enrichment);
            $this->processAbstractNumberToMinMax($rule, $enrichment);
        }
        return $enrichment;
    }
    if ($field instanceof Password) {
        $enrichment = [];
        foreach ($rules as $rule) {
            if ($this->hasWhen($rule)) {
                continue;
            }
            $this->processRequiredToRequired($rule, $enrichment);
            $this->processLengthToMinMaxLength($rule, $enrichment);
            $this->processRegexToPattern($rule, $enrichment);
        }
        return $enrichment;
    }
    if ($field instanceof Range) {
        $enrichment = [];
        foreach ($rules as $rule) {
            if ($this->hasWhen($rule)) {
                continue;
            }
            $this->processRequiredToRequired($rule, $enrichment);
            $this->processAbstractNumberToMinMax($rule, $enrichment);
        }
        return $enrichment;
    }
    if ($field instanceof Select) {
        $enrichment = [];
        foreach ($rules as $rule) {
            if ($this->hasWhen($rule)) {
                continue;
            }
            $this->processRequiredToRequired($rule, $enrichment);
        }
        return $enrichment;
    }
    if ($field instanceof Telephone) {
        $enrichment = [];
        foreach ($rules as $rule) {
            if ($this->hasWhen($rule)) {
                continue;
            }
            $this->processRequiredToRequired($rule, $enrichment);
            $this->processLengthToMinMaxLength($rule, $enrichment);
            $this->processRegexToPattern($rule, $enrichment);
        }
        return $enrichment;
    }
    if ($field instanceof Text) {
        $enrichment = [];
        foreach ($rules as $rule) {
            if ($this->hasWhen($rule)) {
                continue;
            }
            $this->processRequiredToRequired($rule, $enrichment);
            $this->processLengthToMinMaxLength($rule, $enrichment);
            $this->processRegexToPattern($rule, $enrichment);
        }
        return $enrichment;
    }
    if ($field instanceof Textarea) {
        $enrichment = [];
        foreach ($rules as $rule) {
            if ($this->hasWhen($rule)) {
                continue;
            }
            $this->processRequiredToRequired($rule, $enrichment);
            $this->processLengthToMinMaxLength($rule, $enrichment);
        }
        return $enrichment;
    }
    if ($field instanceof Url) {
        $enrichment = [];
        $processedUrl = false;
        foreach ($rules as $rule) {
            if ($this->hasWhen($rule)) {
                continue;
            }
            $this->processRequiredToRequired($rule, $enrichment);
            $this->processLengthToMinMaxLength($rule, $enrichment);
            $processedUrl = $processedUrl || $this->processUrlToPattern($rule, $enrichment);
            if (!$processedUrl) {
                $this->processRegexToPattern($rule, $enrichment);
            }
        }
        return $enrichment;
    }
    return null;
}