حقول إدخال النص متعددة الأسطر

يخزن حقل إدخال النص متعدد الأسطر سلسلة كقيمتها والسلسلة كنص لها. وقيمتها دائمًا هي سلسلة صالحة، بينما يمكن أن يكون نصها أي سلسلة تم إدخالها في محررها. على عكس حقل إدخال النص، يتيح هذا الحقل أيضًا إدخال أحرف السطر الجديد في المحرر.

حقل إدخال النص متعدد الأسطر

حقل إدخال نص متعدد الأسطر مفتوح المحرر

حقل إدخال نص متعدد الأسطر على كتلة مصغّرة

إنشاء الفيديوهات

JSON

{
  "type": "example_multilinetextinput",
  "message0": "multiline text input: %1",
  "args0": [
    {
      "type": "field_multilinetext",
      "name": "FIELDNAME",
      "text": "default text\n with newline character",
      "spellcheck": false
    }
  ]
}

JavaScript

Blockly.Blocks['example_multilinetextinput'] = {
  init: function() {
    this.appendDummyInput()
        .appendField("multiline text input:")
        .appendField(new Blockly.FieldMultilineInput('default text\n with newline character'),
            'FIELDNAME');
  }
};

تستخدم الدالة الإنشائية لإدخال النص متعدد الأسطر قيمة اختيارية وvalidator اختياري. يجب تحويل القيمة إلى سلسلة. وإذا كانت null أو undefined، سيتم استخدام سلسلة فارغة.

ويسمح لك تعريف JSON أيضًا بتعيين خيار التدقيق الإملائي.

التسلسل

JSON

يبدو رمز JSON لحقل إدخال النص متعدد الأسطر على النحو التالي:

{
  "fields": {
    "FIELDNAME": "line1\nline2"
  }
}

تكون القيمة FIELDNAME سلسلة تشير إلى حقل إدخال نص متعدد الأسطر، وتكون القيمة هي القيمة المطلوب تطبيقها على الحقل. تتبع القيمة نفس القواعد مثل قيمة الدالة الإنشائية.

XML

يبدو أن تنسيق XML لحقل إدخال النص متعدد الأسطر على النحو التالي:

<field name="FIELDNAME">line1&amp;#10;line2</field>

تتضمّن السمة name الخاصة بالحقل سلسلة تشير إلى حقل إدخال نص متعدد الأسطر، ويكون النص الداخلي هو القيمة المطلوب تطبيقها على الحقل. تتبع قيمة النص الداخلي نفس القواعد مثل قيمة الدالة الإنشائية.

التخصيص

التدقيق الإملائي

يمكن استخدام الدالة setSpellcheck لضبط ما إذا كان الحقل يجري التدقيق الإملائي لنص الإدخال أم لا.

حقول إدخال نصية بها تدقيق إملائي أو بدونها

تكون ميزة التدقيق الإملائي مفعّلة بشكل تلقائي.

وينطبق ذلك على الحقول الفردية. إذا أردت تعديل كل الحقول، عليك تغيير السمة Blockly.FieldMultilineInput.prototype.spellcheck_.

إنشاء مدقق إدخال النص

إنّ قيمة حقل إدخال النص المتعدّد الأسطر هي سلسلة، لذا يجب أن تقبل أيّ أدوات تحقّق من الصحة سلسلة وأن تعرض سلسلة أو null أو undefined.

في ما يلي مثال على أداة تحقق تزيل جميع أحرف 'a' من السلسلة:

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