rules = $rules; return $this; } public function validationAttribute(string | Closure | null $label): static { $this->validationAttribute = $label; return $this; } public function getRules(): array { $rules = $this->evaluate($this->rules); if (! in_array('required', $rules)) { $rules[] = 'nullable'; } return $rules; } public function validate($input): void { Validator::make( ['input' => $input], ['input' => $this->getRules()], [], ['input' => $this->getValidationAttribute()], )->validate(); } public function getValidationAttribute(): string { return $this->evaluate($this->validationAttribute) ?? Str::lcfirst($this->getLabel()); } }