Campi di immissione testo

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, '');
}