একটি টেক্সট ইনপুট ফিল্ড তার ভ্যালু হিসেবে একটি স্ট্রিং এবং টেক্সট হিসেবে একটি স্ট্রিং সংরক্ষণ করে। এর ভ্যালু সর্বদা একটি বৈধ স্ট্রিং হয়, অপরদিকে এর টেক্সট এডিটরে প্রবেশ করানো যেকোনো স্ট্রিং হতে পারে।
টেক্সট ইনপুট ফিল্ড

এডিটর খোলা সহ টেক্সট ইনপুট ফিল্ড

সংকুচিত ব্লকে টেক্সট ইনপুট ফিল্ড

সৃষ্টি
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 সংজ্ঞাটি আপনাকে বানান পরীক্ষা করার বিকল্পটিও সেট করার সুযোগ দেয়।
সিরিয়ালাইজেশন এবং এক্সএমএল
JSON
একটি টেক্সট ইনপুট ফিল্ডের JSON দেখতে এইরকম:
{
"fields": {
"FIELDNAME": "text"
}
}
এখানে FIELDNAME হলো একটি স্ট্রিং যা একটি টেক্সট ইনপুট ফিল্ডকে নির্দেশ করে, এবং value হলো সেই মান যা ফিল্ডটিতে প্রয়োগ করা হবে। এই value-এর নিয়মাবলী কনস্ট্রাক্টর ভ্যালুর নিয়মাবলীর অনুরূপ।
এক্সএমএল
একটি টেক্সট ইনপুট ফিল্ডের XML দেখতে এইরকম:
<field name="FIELDNAME">text</field>
যেখানে ফিল্ডের name অ্যাট্রিবিউটে একটি টেক্সট ইনপুট ফিল্ডকে নির্দেশকারী স্ট্রিং থাকে, এবং ইনার টেক্সট হলো ফিল্ডটিতে প্রয়োগ করার মান। ইনার টেক্সট মানটি কনস্ট্রাক্টর মানের মতোই একই নিয়ম অনুসরণ করে।
কাস্টমাইজেশন
বানান পরীক্ষা
ফিল্ডটি তার ইনপুট টেক্সটের বানান পরীক্ষা করবে কি না, তা নির্ধারণ করতে setSpellcheck ফাংশনটি ব্যবহার করা যায়।
বানান পরীক্ষা সহ এবং বানান পরীক্ষা ছাড়া টেক্সট ইনপুট ফিল্ড

বানান পরীক্ষা ডিফল্টরূপে চালু থাকে।
এটি প্রতিটি ফিল্ডের জন্য প্রযোজ্য। যদি আপনি সমস্ত ফিল্ড পরিবর্তন করতে চান, তাহলে Blockly.FieldTextInput.prototype.spellcheck_ প্রপার্টিটি পরিবর্তন করুন।
একটি টেক্সট ইনপুট ভ্যালিডেটর তৈরি করা
একটি টেক্সট ইনপুট ফিল্ডের ভ্যালু যেহেতু একটি স্ট্রিং, তাই যেকোনো ভ্যালিডেটরকে অবশ্যই একটি স্ট্রিং গ্রহণ করতে হবে এবং একটি স্ট্রিং, null বা undefined রিটার্ন করতে হবে।
এখানে এমন একটি ভ্যালিডেটরের উদাহরণ দেওয়া হলো যা স্ট্রিং থেকে সমস্ত a অক্ষর মুছে ফেলে:
function(newValue) {
return newValue.replace(/a/g, '');
}
