Formuláře
TextInput
Textové vstupní pole s variantami pro email, heslo, číslo, tel a URL.
Na této stránce
Textové vstupní pole s variantami pro email, heslo, číslo, tel a URL.
use NyonCode\WireForms\Components\TextInput;
Základní použití
TextInput::make('name')TextInput::make('email')->email()TextInput::make('password')->password()TextInput::make('phone')->tel()TextInput::make('website')->url()TextInput::make('quantity')->numeric()TextInput::make('age')->integer()
Varianty typu
| Metoda | HTML typ | Popis |
|---|---|---|
email() |
email |
Nápověda validace emailu |
password() |
password |
Maskovaný input |
tel() |
tel |
Telefonní číslo |
url() |
url |
URL input |
numeric() |
number s inputmode |
Číslo s desetinnou částí |
integer() |
number s inputmode |
Jen celé číslo, step=1 |
search() |
search |
Search input |
type(string) |
Vlastní | Nastavit HTML input typ přímo |
Omezení
TextInput::make('code') ->minLength(3) ->maxLength(10) ->minValue(0) ->maxValue(100) ->step('0.01') ->mask('999-999-999') ->inputMode('numeric') ->autocomplete('off')
Dekorátory
TextInput::make('price') ->prefix('CZK') ->suffix('.00') ->prefixIcon('currency') ->suffixIcon('calculator')
Affix a hint akce
Umístěte interaktivní Action před/za input nebo vedle hintu. Callback běží na
serveru se stejným reaktivním $get / $set kontextem jako afterStateUpdated()
— použijte ho pro lookupy (ARES, ověření adresy), generování hodnoty z jiného pole nebo
inline akci:
use NyonCode\WireCore\Actions\Action; TextInput::make('company') ->suffixAction( Action::make('lookup') ->icon('heroicon-o-magnifying-glass') ->action(fn ($get, $set) => $set('company', lookupCompany($get('company')))), ) ->hintAction( Action::make('help')->icon('heroicon-o-question-mark-circle'), );
prefixAction(), suffixAction() a hintAction() každá bere Action a sdílejí
state kontext pole. Pro samostatné tlačítko použijte pole Button.
Odhalitelné heslo
TextInput::make('password') ->password() ->revealable() // tlačítko přepnutí viditelnosti
Datalist
TextInput::make('city') ->datalist(['Prague', 'Brno', 'Ostrava'])
Předejte třídu PHP enumu pro použití labelů jeho case jako návrhů (stejné resolvování labelu jako
options Select):
TextInput::make('city')->datalist(City::class)
Live aktualizace
TextInput::make('search') ->live() ->debounce(300)
Validace
TextInput::make('username') ->required() ->rules(['alpha_dash', 'min:3', 'max:30']) ->validationMessages(['required' => 'Username is required'])
Běžné volby
TextInput::make('bio') ->label('Short bio') ->helperText('Displayed on your profile') ->hint('Max 255 chars') ->placeholder('Tell us about yourself') ->disabled(fn () => $this->locked) ->readOnly(fn () => ! auth()->user()->canEdit()) ->autofocus()
Kompletní seznam sdílených metod viz Společné API pole.