Všetky balíky
Options for Laravel
Validácia
Ak má byť zápis overený, vráťte z rules() validačné pravidlá Laravelu. Predvolene je to prázdne pole, takže sa nič neoveruje, kým to nezapnete:
use Illuminate\Contracts\Database\Eloquent\CastsAttributes;
use RoundlyConsulting\Options\BaseOption;
final class SeatLimitOption extends BaseOption
{
public function key(): string
{
return 'seat-limit';
}
public function default(): mixed
{
return 5;
}
public function castAs(): string|CastsAttributes
{
return 'integer';
}
public function rules(): array|string
{
return ['required', 'integer', 'min:1', 'max:100'];
}
}Pravidlá sa aplikujú na pole s názvom value, ešte pred castom a pred uložením. Neplatné hodnoty vyhodia Illuminate\Validation\ValidationException:
use Illuminate\Validation\ValidationException;
try {
Options::set(SeatLimitOption::class, 250, $team);
} catch (ValidationException $e) {
$e->errors(); // ['value' => ['…']] — rules are applied to a field named "value"
}Kde validácia platí
- Pri každom zápise cez set(): fasáda, fluent API, helpery, HasOptions, setMany(), remember() pri ukladaní, set() skupiny aj options:set.
- setMany() aj set() skupiny overia celú dávku ešte pred prvým zápisom — jediná neplatná hodnota znamená, že sa neuloží nič.
- Pravidlá môžu byť pole alebo reťazec oddelený zvislou čiarou, napríklad 'integer|min:0'.
- Import zapisuje surové riadky a rules() nespúšťa. Options::fake() overuje rovnako ako skutočný manager — neplatný zápis vyhodí výnimku a nezaznamená sa.
Prejavte lásku k open source
Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.
Ďalšie spôsoby podpory vrátane kryptomienOdoslaním daru súhlasíte s našimi podmienkami prijímania darov.
Chcete to zabudovať do svojho produktu?
Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.