Un campo di immissione di testo memorizza una stringa come valore e una stringa come testo. Il suo valore è sempre una stringa valida, mentre il suo testo può essere una qualsiasi stringa inserita nel relativo editor.
Campo di immissione testo
Campo di immissione testo con editor aperto
Campo di immissione testo in un blocco compresso
Creazione
JSON
{
"type": "example_textinput",
"message0": "text input: %1",
"args0": [
{
"type": "field_input",
"name": "FIELDNAME",
"text": "default text",
"spellcheck": false
}
]
}
JavaScript
Blockly.Blocks['example_textinput'] = {
init: function() {
this.appendDummyInput()
.appendField("text input:")
.appendField(new Blockly.FieldTextInput('default text'),
'FIELDNAME');
}
};
Il costruttore dell'input di testo accetta un valore facoltativo e uno validator facoltativo. Il valore deve essere trasmesso a una stringa. Se è null
o undefined
, verrà utilizzata una stringa vuota.
La definizione JSON consente anche di impostare l'opzione di controllo ortografico.
Serializzazione e XML
JSON
Il codice JSON per un campo di immissione di testo ha il seguente aspetto:
{
"fields": {
"FIELDNAME": "text"
}
}
Dove FIELDNAME
è una stringa che fa riferimento a un campo di immissione di testo e il valore è il valore da applicare al campo. Il valore segue le stesse regole del valore del costruttore.
XML
L'XML per un campo di immissione di testo ha il seguente aspetto:
<field name="FIELDNAME">text</field>
In cui l'attributo name
del campo contiene una stringa che fa riferimento a un campo di input di testo, e il testo interno è il valore da applicare al campo. Il valore di testo interno segue le stesse regole del valore del costruttore.
Funzionalità di
Controllo ortografico
La funzione setSpellcheck può essere utilizzata per stabilire se eseguire il controllo ortografico del campo sul testo di input o meno.
Campi di immissione testo con e senza controllo ortografico
Il controllo ortografico è attivo per impostazione predefinita.
Questo vale per i singoli campi. Se vuoi modificare tutti i campi, modifica la
proprietà Blockly.FieldTextInput.prototype.spellcheck_
.
Creazione di uno strumento di convalida dell'input di testo
Il valore di un campo di immissione di testo è una stringa, quindi qualsiasi convalidatore deve accettare una stringa e restituire una stringa, null
o undefined
.
Ecco un esempio di uno strumento di convalida che rimuove tutti i caratteri "a" dalla stringa:
function(newValue) {
return newValue.replace(/a/g, '');
}