Champs de saisie de texte

Un champ de saisie de texte stocke une chaîne en tant que valeur et une chaîne en tant que texte. Son est toujours une chaîne valide, alors que son texte peut être n'importe quelle chaîne saisie dans son éditeur.

Champ de saisie de texte

Champ de saisie de texte avec l'éditeur ouvert

Champ de saisie de texte sur le bloc réduit

Création

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

Le constructeur d'entrée de texte accepte une valeur et un programme de validation. La valeur doit être convertie en . Si la valeur est null ou undefined, une chaîne vide est utilisée.

La définition JSON vous permet également de définir l'option spellcheck.

Sérialisation et XML

JSON

Le code JSON d'un champ de saisie de texte se présente comme suit:

{
  "fields": {
    "FIELDNAME": "text"
  }
}

FIELDNAME est une chaîne faisant référence à un champ de saisie de texte, et où la valeur est celle à appliquer au champ. La valeur suit les mêmes règles que la valeur du constructeur.

XML

Le code XML d'un champ de saisie de texte se présente comme suit:

<field name="FIELDNAME">text</field>

Où l'attribut name du champ contient une chaîne faisant référence à une entrée de texte et le texte interne est la valeur à appliquer au champ. L'intérieur de texte suit les mêmes règles que la valeur du constructeur.

Personnalisation

Correcteur orthographique

La setSpellcheck peut être utilisée pour déterminer si le champ vérifie l'orthographe du texte saisi ou non.

Champs de saisie de texte avec et sans correcteur orthographique

La vérification orthographique est activée par défaut.

Cela s'applique aux champs individuels. Si vous souhaitez modifier tous les champs, remplacez Blockly.FieldTextInput.prototype.spellcheck_.

Créer un validateur d'entrée de texte

La valeur d'un champ de saisie de texte est une chaîne. Par conséquent, tous les validateurs doivent accepter une chaîne. et renvoyer une chaîne, null ou undefined.

Voici un exemple de programme de validation qui supprime des caractères chaîne:

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