एक से ज़्यादा लाइन में टेक्स्ट इनपुट फ़ील्ड

मल्टीलाइन टेक्स्ट इनपुट फ़ील्ड में, एक स्ट्रिंग को वैल्यू के तौर पर और स्ट्रिंग को टेक्स्ट के तौर पर सेव किया जाता है. इसकी वैल्यू हमेशा एक मान्य स्ट्रिंग होती है, जबकि इसका टेक्स्ट, एडिटर में डाली गई कोई भी स्ट्रिंग हो सकती है. टेक्स्ट इनपुट फ़ील्ड के उलट, यह फ़ील्ड एडिटर में डाले गए नई लाइन वर्णों के साथ काम करता है.

एक से ज़्यादा लाइन में टेक्स्ट इनपुट फ़ील्ड

एडिटर ओपन के साथ कई लाइनों वाला टेक्स्ट इनपुट फ़ील्ड

छोटे किए गए ब्लॉक पर, एक से ज़्यादा लाइन में मौजूद टेक्स्ट इनपुट फ़ील्ड

शॉर्ट वीडियो

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

किसी मल्टीलाइन टेक्स्ट इनपुट फ़ील्ड के लिए, एक्सएमएल ऐसा दिखता है:

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

जहां फ़ील्ड के name एट्रिब्यूट में एक स्ट्रिंग शामिल होती है जो मल्टीलाइन टेक्स्ट इनपुट फ़ील्ड का रेफ़रंस देती है. साथ ही, अंदरूनी टेक्स्ट वह वैल्यू होती है जिसे फ़ील्ड पर लागू किया जाना है. इनर टेक्स्ट वैल्यू, कंस्ट्रक्टर की वैल्यू के समान नियमों का पालन करती है.

पसंद के मुताबिक बनाएं

स्पेलचेक

setSpellcheck फ़ंक्शन का इस्तेमाल करके, यह सेट किया जा सकता है कि फ़ील्ड अपने इनपुट टेक्स्ट की स्पेलिंग चेक करे या नहीं.

वर्तनी जांच के साथ और उसके बिना, टेक्स्ट इनपुट फ़ील्ड

वर्तनी-जांच की सुविधा डिफ़ॉल्ट रूप से चालू रहती है.

यह बात हर फ़ील्ड पर लागू होती है. अगर आपको सभी फ़ील्ड में बदलाव करना है, तो Blockly.FieldMultilineInput.prototype.spellcheck_ प्रॉपर्टी बदलें.

टेक्स्ट इनपुट की पुष्टि करने वाला प्रोग्राम बनाना

एक से ज़्यादा लाइन वाले टेक्स्ट इनपुट फ़ील्ड का मान एक स्ट्रिंग होता है. इसलिए, पुष्टि करने वाले किसी भी टूल को स्ट्रिंग स्वीकार करनी होगी और स्ट्रिंग, null या undefined देनी होगी.

यहां पुष्टि करने वाले एक ऐसे प्रोग्राम का उदाहरण दिया गया है जो स्ट्रिंग से सभी 'a' वर्ण हटा देता है:

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