فیلدهای ورودی متن

یک فیلد ورودی متن، یک رشته را به عنوان مقدار و یک رشته را به عنوان متن ذخیره می‌کند. مقدار آن همیشه یک رشته معتبر است، در حالی که متن آن می‌تواند هر رشته‌ای باشد که در ویرایشگر آن وارد شده است.

فیلد ورودی متن

یک بلوک با برچسب "text input:" و یک فیلد ورودی متن که روی "default text" تنظیم شده است.

فیلد ورودی متن با ویرایشگر باز

همان بلوک با فیلدی که ویرایش می‌شود.

فیلد ورودی متن در بلوک جمع شده

همان بلوک پس از جمع شدن. برچسب "text input: default text" و یک لبه سمت راست ناهموار برای نشان دادن جمع شدن آن دارد.

خلقت

جی‌سون

{
  "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 همچنین به شما امکان می‌دهد گزینه بررسی املا را تنظیم کنید.

سریال‌سازی و XML

جی‌سون

JSON برای یک فیلد ورودی متن به این شکل است:

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

که در آن FIELDNAME رشته‌ای است که به یک فیلد ورودی متن اشاره می‌کند و value مقداری است که قرار است به فیلد اعمال شود. این value از همان قوانین مقدار سازنده پیروی می‌کند.

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 متحرک که اعتبارسنجی یک فیلد ورودی متن را نشان می‌دهد. وقتی کاربر "bbbaaa" را تایپ می‌کند و در جای دیگری کلیک می‌کند، فیلد به "bbb" تغییر می‌کند.