I Text Field vengono usati comunemente nei moduli. I Text Field di mdui offrono funzioni come il conteggio dei caratteri e la validazione dei moduli.
Può essere utilizzato in combinazione con il sistema di layout a griglia per il layout dei moduli.
Inizializzazione automatica al termine del caricamento della pagina. Per i Text Field generati dinamicamente, è necessario chiamare mdui.mutation() per l'inizializzazione.
Utilizza il colore di accento.
<div class="mdui-textfield">
<input class="mdui-textfield-input" type="text" placeholder="User Name"/>
</div><div class="mdui-textfield">
<label class="mdui-textfield-label">User Name</label>
<input class="mdui-textfield-input" type="text"/>
</div><div class="mdui-textfield mdui-textfield-floating-label">
<label class="mdui-textfield-label">Email</label>
<input class="mdui-textfield-input" type="email" />
</div>Aggiungi l'attributo disabled all'elemento .mdui-textfield-input per disabilitare il Text Field.
<div class="mdui-textfield">
<input class="mdui-textfield-input" type="text" disabled placeholder="User Name"/>
</div>
<!-- Etichetta fissa -->
<div class="mdui-textfield">
<label class="mdui-textfield-label">User Name</label>
<input class="mdui-textfield-input" type="text" disabled />
</div>
<!-- Etichetta fluttuante -->
<div class="mdui-textfield mdui-textfield-floating-label">
<label class="mdui-textfield-label">Email</label>
<input class="mdui-textfield-input" type="email" disabled />
</div>Sostituire il tag input di un Text Field a riga singola con un tag textarea lo trasforma in un Text Field multilinea. Il Text Field multilinea regolerà automaticamente la sua altezza in base al contenuto.
<div class="mdui-textfield">
<textarea class="mdui-textfield-input" placeholder="Description"></textarea>
</div>
<!-- Etichetta fissa -->
<div class="mdui-textfield">
<label class="mdui-textfield-label">Subject</label>
<textarea class="mdui-textfield-input"></textarea>
</div>
<!-- Etichetta fluttuante -->
<div class="mdui-textfield mdui-textfield-floating-label">
<label class="mdui-textfield-label">Message</label>
<textarea class="mdui-textfield-input"></textarea>
</div>
<!-- Stato disabilitato -->
<div class="mdui-textfield mdui-textfield-floating-label">
<label class="mdui-textfield-label">Disabled</label>
<textarea class="mdui-textfield-input" disabled></textarea>
</div>Aggiungendo l'attributo rows a textarea, l'altezza del Text Field diventerà fissa.
<div class="mdui-textfield">
<textarea class="mdui-textfield-input" rows="4" placeholder="Message"></textarea>
</div>Aggiungi l'elemento <div class="mdui-textfield-helper"></div> alla fine all'interno di <div class="mdui-textfield"></div> per aggiungere un testo di aiuto.
<div class="mdui-textfield">
<input type="email" class="mdui-textfield-input" placeholder="Email" />
<div class="mdui-textfield-helper">Helper Text</div>
</div><div class="mdui-textfield">
<i class="mdui-icon material-icons">email</i>
<input class="mdui-textfield-input" type="email" placeholder="Email"/>
</div>
<!-- Etichetta fissa -->
<div class="mdui-textfield">
<i class="mdui-icon material-icons">account_circle</i>
<label class="mdui-textfield-label">User name</label>
<input class="mdui-textfield-input" type="text" />
<div class="mdui-textfield-helper">Helper Text</div>
</div>
<!-- Etichetta fluttuante, Text Field multilinea -->
<div class="mdui-textfield mdui-textfield-floating-label">
<i class="mdui-icon material-icons">textsms</i>
<label class="mdui-textfield-label">Message</label>
<textarea class="mdui-textfield-input"></textarea>
</div>
<!-- Stato disabilitato -->
<div class="mdui-textfield">
<i class="mdui-icon material-icons">lock</i>
<input class="mdui-textfield-input" type="text" placeholder="Disabled" disabled/>
</div><div class="mdui-textfield mdui-textfield-expandable">
<button class="mdui-textfield-icon mdui-btn mdui-btn-icon">
<i class="mdui-icon material-icons">search</i>
</button>
<input class="mdui-textfield-input" type="text" placeholder="Search"/>
<button class="mdui-textfield-close mdui-btn mdui-btn-icon">
<i class="mdui-icon material-icons">close</i>
</button>
</div>
<div class="mdui-textfield mdui-textfield-expandable mdui-float-right">
<button class="mdui-textfield-icon mdui-btn mdui-btn-icon">
<i class="mdui-icon material-icons">search</i>
</button>
<input class="mdui-textfield-input" type="text" placeholder="Search"/>
<button class="mdui-textfield-close mdui-btn mdui-btn-icon">
<i class="mdui-icon material-icons">close</i>
</button>
</div>mdui utilizza HTML5 per la validazione dei moduli. Aggiungi l'elemento <div class="mdui-textfield-error"></div> alla fine all'interno di <div class="mdui-textfield"></div> per aggiungere messaggi di errore.
Se sono inclusi sia un messaggio di errore che un testo di aiuto, l'elemento del testo di aiuto deve essere posizionato dopo l'elemento del messaggio di errore.
<div class="mdui-textfield mdui-textfield-floating-label">
<label class="mdui-textfield-label">User name</label>
<input class="mdui-textfield-input" type="text" required />
<div class="mdui-textfield-error">Il nome utente non può essere vuoto</div>
</div>
<div class="mdui-textfield mdui-textfield-floating-label">
<label class="mdui-textfield-label">Email</label>
<input class="mdui-textfield-input" type="email" required />
<div class="mdui-textfield-error">Formato email non valido</div>
</div>
<div class="mdui-textfield mdui-textfield-floating-label">
<label class="mdui-textfield-label">Password</label>
<input
class="mdui-textfield-input"
type="text"
pattern="^.*(?=.{6,})(?=.*[a-z])(?=.*[A-Z]).*$$"
required
/>
<div class="mdui-textfield-error">La password deve contenere almeno 6 caratteri e includere lettere maiuscole e minuscole</div>
<div class="mdui-textfield-helper">Inserire una password di almeno 6 caratteri con lettere maiuscole e minuscole</div>
</div>Oltre alla validazione HTML5, è possibile utilizzare JavaScript per la validazione.
Aggiungi la classe .mdui-textfield-invalid ai Text Field che non superano la validazione e rimuovila dopo che è stata superata.
<div class="mdui-textfield mdui-textfield-invalid">
<label class="mdui-textfield-label">User name</label>
<input class="mdui-textfield-input" type="text" />
<div class="mdui-textfield-error">Il nome utente esiste già</div>
</div>Aggiungi l'attributo maxlength="" all'elemento input per limitare la lunghezza della riga. mdui aggiungerà automaticamente un conteggio dei caratteri in tempo reale nell'angolo in basso a destra del Text Field.
<div class="mdui-textfield">
<label class="mdui-textfield-label">User name</label>
<input class="mdui-textfield-input" type="text" maxlength="20" />
</div>
<div class="mdui-textfield mdui-textfield-floating-label">
<label class="mdui-textfield-label">Email</label>
<input class="mdui-textfield-input" type="email" maxlength="60" />
<div class="mdui-textfield-error">Formato email non valido</div>
</div>
<div class="mdui-textfield mdui-textfield-floating-label">
<label class="mdui-textfield-label">Message</label>
<textarea class="mdui-textfield-input" maxlength="140"></textarea>
</div>Se il tuo Text Field è generato dinamicamente, è necessario chiamare mdui.mutation() per l'inizializzazione.
Se modifichi dinamicamente il contenuto del Text Field, devi chiamare il metodo mdui.updateTextFields() per reinizializzarlo. Questo metodo può accettare come parametro un selettore CSS con la classe .mdui-textfield, un elemento DOM o un array di elementi DOM, indicando che verranno reinizializzati solo i Text Field specificati. Se non viene passato alcun parametro, verranno reinizializzati tutti i Text Field nella pagina.
| Nome classe | Descrizione |
|---|---|
.mdui-textfield | Definisce un Text Field. |
.mdui-textfield-floating-label | Definisce un Text Field con etichetta fluttuante. |
.mdui-textfield-label | Definisce l'etichetta del Text Field. |
.mdui-textfield-input | Definisce l'input del Text Field. |
.mdui-textfield-error | Definisce il messaggio di errore della validazione. |
.mdui-textfield-helper | Definisce il testo di aiuto del Text Field. |