Trường nhập văn bản lưu trữ một chuỗi dưới dạng giá trị và một chuỗi dưới dạng văn bản. Giá trị của thuộc tính này luôn là một chuỗi hợp lệ, trong khi văn bản của thuộc tính này có thể là bất kỳ chuỗi nào được nhập vào trình chỉnh sửa.
Trường nhập văn bản
Trường nhập văn bản có trình chỉnh sửa đang mở
Trường nhập văn bản trên khối đã thu gọn
dựa trên xu hướng
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');
}
};
Hàm khởi tạo phương thức nhập văn bản sẽ nhận một giá trị không bắt buộc và một trình xác thực không bắt buộc. Giá trị phải được truyền vào một chuỗi. Nếu giá trị này là null
hoặc undefined
, thì một chuỗi trống sẽ được sử dụng.
Định nghĩa JSON cũng cho phép bạn đặt tuỳ chọn spellcheck (kiểm tra chính tả).
Tuần tự hoá và XML
JSON
JSON cho trường nhập văn bản có dạng như sau:
{
"fields": {
"FIELDNAME": "text"
}
}
Trong đó FIELDNAME
là một chuỗi tham chiếu đến trường nhập văn bản và giá trị là giá trị cần áp dụng cho trường đó. Giá trị này tuân theo các quy tắc giống như giá trị hàm khởi tạo.
XML
Mã XML cho trường nhập văn bản sẽ có dạng như sau:
<field name="FIELDNAME">text</field>
Trong đó, thuộc tính name
của trường chứa một chuỗi tham chiếu đến trường nhập văn bản và văn bản bên trong là giá trị áp dụng cho trường. Giá trị văn bản bên trong tuân theo các quy tắc giống như giá trị hàm khởi tạo.
Tuỳ chỉnh
Kiểm tra lỗi chính tả
Bạn có thể sử dụng hàm setSpellcheck để đặt xem trường có kiểm tra chính tả văn bản đầu vào hay không.
Trường nhập văn bản có và không có tính năng kiểm tra chính tả
Tính năng kiểm tra chính tả được bật theo mặc định.
Điều này áp dụng cho từng trường. Nếu bạn muốn sửa đổi tất cả các trường, hãy thay đổi thuộc tính Blockly.FieldTextInput.prototype.spellcheck_
.
Tạo trình xác thực dữ liệu nhập văn bản
Giá trị của trường nhập văn bản là một chuỗi, vì vậy, mọi trình xác thực đều phải chấp nhận một chuỗi và trả về một chuỗi, null
hoặc undefined
.
Dưới đây là ví dụ về trình xác thực xoá tất cả ký tự "a" khỏi chuỗi:
function(newValue) {
return newValue.replace(/a/g, '');
}