텍스트 입력란

텍스트 입력 필드는 문자열을 값으로, 문자열을 텍스트로 저장합니다. 값은 항상 유효한 문자열이지만 텍스트는 편집기에 입력된 모든 문자열일 수 있습니다.

텍스트 입력란

'텍스트 입력:'이라는 라벨이 있는 블록과 '기본 텍스트'로 설정된 텍스트 입력 필드

편집기가 열린 텍스트 입력란

필드가 수정된 동일한 블록입니다.

접힌 블록의 텍스트 입력란

접힌 후의 동일한 블록 '텍스트 입력: 기본 텍스트' 라벨이 있고 오른쪽 가장자리가 들쭉날쭉하여 축소되었음을 나타냅니다.

생성

JSON

{
  "type": "example_textinput",
  "message0": "text input: %1",
  "args0": [
    {
      "type": "field_input",
      "name": "FIELDNAME",
      "text": "default text",
      "spellcheck": false
    }
  ]
}

자바스크립트

Blockly.Blocks['example_textinput'] = {
  init: function() {
    this.appendDummyInput()
        .appendField("text input:")
        .appendField(new Blockly.FieldTextInput('default text'),
            'FIELDNAME');
  }
};

텍스트 입력 생성자는 선택적 값과 선택적 유효성 검사기를 사용합니다. 값은 문자열로 변환되어야 합니다. null 또는 undefined인 경우 빈 문자열이 사용됩니다.

JSON 정의를 사용하면 spellcheck 옵션도 설정할 수 있습니다.

직렬화 및 XML

JSON

텍스트 입력 필드의 JSON은 다음과 같습니다.

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

여기서 FIELDNAME는 텍스트 입력 필드를 참조하는 문자열이고 값은 필드에 적용할 값입니다. 값은 생성자 값과 동일한 규칙을 따릅니다.

XML

텍스트 입력 필드의 XML은 다음과 같습니다.

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

필드의 name 속성에 텍스트 입력 필드를 참조하는 문자열이 포함되어 있고 내부 텍스트가 필드에 적용할 값인 경우 내부 텍스트 값은 생성자 값과 동일한 규칙을 따릅니다.

맞춤설정

맞춤법 검사

setSpellcheck 함수를 사용하여 필드에서 입력 텍스트의 맞춤법을 검사할지 여부를 설정할 수 있습니다.

맞춤법 검사가 있는 텍스트 입력란과 없는 텍스트 입력란

텍스트 입력 필드가 있는 두 개의 블록을 보여주는 애니메이션 GIF 첫 번째 블록에는 맞춤법 검사가 사용 설정되어 있으며 맞춤법이 틀린 단어에는 빨간색 물결선이 표시됩니다. 두 번째 블록은 맞춤법 검사가 사용 중지되어 있으며 맞춤법이 틀린 단어에 밑줄이 표시되지 않습니다.

맞춤법 검사는 기본적으로 사용 설정되어 있습니다.

이는 개별 필드에 적용됩니다. 모든 필드를 수정하려면 Blockly.FieldTextInput.prototype.spellcheck_ 속성을 변경하세요.

텍스트 입력 유효성 검사기 만들기

텍스트 입력 필드의 값은 문자열이므로 모든 유효성 검사기는 문자열을 허용하고 문자열, null 또는 undefined를 반환해야 합니다.

다음은 문자열에서 모든 a 문자를 삭제하는 유효성 검사기의 예입니다.

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

텍스트 입력란의 유효성 검사를 보여주는 애니메이션 GIF 사용자가 &#39;bbbaaa&#39;를 입력하고 다른 곳을 클릭하면 필드가 &#39;bbb&#39;로 변경됩니다.