سخت موڈ سے فارم کے اسکیما کو اختیار دیں
سخت موڈ پہلے سے بند ہوتا ہے، اِس لیے اسکیما جوابات پر فیصلہ دینے کے بجائے تیاری کی رہنمائی کرتا ہے۔ اِسے فی فارم چالو کریں تو بغیر اعلان کی فیلڈ مستردگی بن جاتی ہے، اور فائل فیلڈز دونوں حالتوں میں اختیار رکھتے ہیں۔
یہ مضمون مشین کے ذریعے ترجمہ کیا گیا ہے۔ انگریزی میں اصل مضمون پڑھیں

سخت موڈ ایک فارم پر ایک سوئچ ہے، اور فارم بنتے وقت وہ بند ہوتا ہے۔ بند ہونا کوئی کوتاہی نہیں: تقریباً سبھی فارم وہیں سے شروع ہوتے ہیں، کیونکہ جس فارم کو کبھی سبمشن نہ ملا ہو وہ اپنی بناوٹ ابھی جانتا ہی نہیں۔ سوئچ جو بدلتا ہے وہ یہ ہے کہ اسکیما کس کے لیے ہے۔
چالو کرنے پر کیا بدلتا ہے
سخت موڈ بند ہونے پر اسکیما تیاری کی رہنمائی کرتا ہے۔ یہ طے کرتا ہے کہ بلڈر کا پیش نظارہ کون سی فیلڈز دکھائے اور تیار شدہ کمپوننٹ کیا پیش کرے، اور اِسی کی بنیاد پر FormFlow سیکھتا ہے جب وہ کسی دیکھی گئی فیلڈ کو اپنانے کی تجویز دیتا ہے۔ مگر یہ جوابات پر فیصلہ نہیں دیتا۔ ایک اضافی کلید خلاف ورزی نہیں: وہ جواب کے طور پر پہنچتی ہے۔
سخت موڈ چالو ہونے پر اسکیما دونوں سمتوں میں معاہدہ بن جاتا ہے۔ اعلان شدہ فیلڈ جو نہیں پہنچتی، یا اپنے قواعد پورے نہیں کرتی، مسترد ہو جاتی ہے۔ بغیر اعلان کی کلید جو پہنچتی ہے، وہ بھی مسترد ہوتی ہے — وہی دروازہ، وہی فیلڈ کے نام سے جڑی خرابی، اور پیغام جو کہتا ہے کہ فیلڈ کا اعلان نہیں تھا۔ یہی توازن پورا مقصد ہے: سخت فارم خاموشی سے ایسے جوابات جمع نہیں کر سکتا جو اُس نے کبھی مانگے نہیں۔ سخت موڈ v1.0.0 کے ساتھ آیا، اور API حوالہ اُس مستردگی کو بیان کرتا ہے جو وہ لوٹاتا ہے۔
فیلڈ قواعد بند الفاظ سے آتے ہیں
سخت موڈ ہی وہ واحد موڈ ہے جس میں فیلڈ قواعد لاگو ہوتے ہیں۔ فیلڈ قاعدہ ایک فیلڈ پر اضافی پابندی ہے، اُس سے آگے جو اُس کی قسم پہلے سے مانتی ہے، اور اِسے اُسی فہرست سے چنا جاتا ہے جو FormFlow دیتا ہے اور اُس قسم تک محدود رکھتا ہے۔ آپ فہرست سے چنتے ہیں؛ قاعدہ کبھی لکھتے نہیں۔ کوئی فارم FormFlow سے ایسی جانچ نہیں چلوا سکتا جو FormFlow نے نہ لکھی ہو۔
فیلڈ کی قسم | چننے کے قابل قواعد | حدود |
|---|---|---|
متن | صرف حروف؛ حروف اور ہندسے؛ حروف، ہندسے، ڈیش اور انڈر اسکور؛ صرف سادہ ASCII؛ چھوٹے حروف؛ بڑے حروف؛ ایک UUID؛ ایک ULID؛ ایک IP پتہ؛ ایک MAC پتہ؛ ہیکس رنگ | کم از کم اور زیادہ سے زیادہ لمبائی |
متن کا بڑا خانہ | صرف سادہ ASCII؛ درست JSON | کم از کم اور زیادہ سے زیادہ لمبائی |
عدد | ایک مکمل عدد | کم از کم اور زیادہ سے زیادہ قدر |
ای میل، فون | کوئی نہیں | کم از کم اور زیادہ سے زیادہ لمبائی |
انتخابی فہرست، واحد انتخاب | کوئی نہیں | کوئی نہیں |
اِس جدول پر دو باتیں۔ حد ایک مکمل عدد ہے، زیادہ سے زیادہ چھ ہندسے۔ اور اختیارات کی فہرست والی قسم کوئی قاعدہ نہیں لیتی: اُس کی اختیارات کی فہرست ہی پابندی ہے، اور سخت موڈ ہر جواب کا فیصلہ اُسی کے مقابلے میں کرتا ہے۔
جہاں سخت موڈ آپ کا انتخاب نہیں
اعلان شدہ فائل فیلڈ ہر فارم پر اختیار رکھتی ہے، سخت موڈ چالو ہو یا نہ ہو۔ اِسے ہر بار قسم، حجم اور تعداد پر جانچا جاتا ہے، اور یہ سختی سے مسترد کرتی ہے۔ یہ جان بوجھ کر ہے: اپ لوڈ ڈسک پر بائٹس ہیں، اِس لیے اِسے ایسی ترتیب پر نہیں چھوڑا جا سکتا جو پہلے سے بند ہو۔ دوسرا استثنا گریڈ شدہ فارم ہے: جوابات کی کلید والا فارم ہمیشہ سخت موڈ میں ہوتا ہے اور صرف ہوسٹ کردہ صفحہ ہو سکتا ہے، کیونکہ ایمبیڈ کیا گیا مارک اپ اُسے انصاف سے نہ دکھا سکتا ہے نہ گریڈ کر سکتا ہے۔
گھبراہٹ سے نہیں، ثبوت سے فیصلہ کریں
اِسے چالو کرنے سے پہلے امیدوار ترتیب کو فارم کی اپنی تاریخ پر دوبارہ چلائیں۔ FormFlow وہ سبمشنز بھی رکھتا ہے جو فارم نے قبول کیں اور وہ مسترد شدہ سبمشنز بھی جو اُس نے لوٹائیں، اِس لیے یہ دہراؤ دکھا سکتا ہے کہ تبدیلی کی قیمت کیا ہوگی، اِس سے پہلے کہ کوئی وہ قیمت دے۔ یہی وجہ ہے کہ سخت موڈ دیر سے، فارم میں ٹریفک آنے کے بعد بھی چالو کیا جا سکتا ہے۔
پرسکون رہنے کی دوسری وجہ: مستردگی پوشیدہ نقصان نہیں ہے۔ مسترد شدہ سبمشن ایسے ریکارڈ کے طور پر رکھی جاتی ہے جس پر آپ کارروائی کر سکتے ہیں، تقسیم نہیں ہوتی، شمار شدہ سبمشن نہیں بنتی، اور ترتیب درست ہوتے ہی واپس مل سکتی ہے۔ سخت موڈ اسکیما درست کرنے کا داؤ بڑھاتا ہے؛ غلطی کو دائمی نہیں بناتا۔
جاننے کے قابل حدود
پہلے سے بند۔ اگر آپ کو یاد نہیں کہ آپ نے اِسے چالو کیا تھا، تو وہ بند ہے۔
یہ صرف جوابات پر فیصلہ دیتا ہے۔ اجازت یافتہ ماخذ فہرست اور درخواست کی بناوٹ ہر فارم پر جانچی جاتی ہے، سخت ہو یا نہ ہو۔
اعلان شدہ فائل فیلڈز دونوں حالتوں میں جانچی جاتی ہیں، اِس لیے بغیر اپ لوڈ پاس ہونے والا سخت موڈ ٹیسٹ فائل کے بارے میں کچھ ثابت نہیں کرتا۔
فیلڈ قواعد صرف سخت موڈ میں لاگو ہوتے ہیں۔ کسی فارم کو سخت موڈ سے باہر نکالنا خاموشی سے اُس کے لیے چنا گیا ہر قاعدہ لاگو کرنا بند کر دیتا ہے۔
گریڈ شدہ فارم سخت موڈ نہیں چھوڑ سکتا اور ایمبیڈ نہیں ہو سکتا، اِس لیے اُس کا اسکیما پہلی سبمشن سے پہلے طے کریں۔