Campi di immissione testo

Un campo di immissione di testo memorizza una stringa come valore e una stringa come testo. È è sempre una stringa valida, mentre il suo testo può essere qualsiasi stringa inserita il suo editor.

Campo di immissione testo

Campo di immissione testo con editor aperto

Campo di immissione testo sul 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 di input di testo accetta un valore facoltativo e un valore facoltativo strumento di convalida. Il valore deve essere trasmesso a un stringa. Se è null o undefined, verrà utilizzata una stringa vuota.

La definizione JSON consente anche di impostare l'opzione spellcheck.

Serializzazione e XML

JSON

Il 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 input di testo e il testo interno è il valore da applicare al campo. La parte interna il valore di testo segue le stesse regole del valore del costruttore.

Personalizzazione

Controllo ortografico

La setSpellcheck può essere utilizzata per stabilire se il campo esegue o meno il controllo ortografico del testo di input.

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 Blockly.FieldTextInput.prototype.spellcheck_ proprietà.

Creazione di uno strumento di convalida dell'input di testo

Il valore di un campo di immissione di testo è una stringa, quindi tutti gli strumenti di convalida devono accettare una stringa e restituiscono una stringa, null o undefined.

Ecco un esempio di uno strumento di convalida che rimuove tutti i caratteri "a" caratteri da stringa:

function(newValue) {
  return newValue.replace(/a/g, '');
}