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