الزامی یا فقطخواندنیکردن یک فیلد روی فرم
هدف
یک فیلد روی فرم را الزامی کنید — کاربر باید پیش از آنکه رکورد ذخیره شود آن را پر کند — یا فقطخواندنی کنید — فیلد نمایش داده میشود ولی نمیتوان آن را ویرایش کرد.
پیشنیازها
- با نقش سازنده (یا مدیر پلتفرم) وارد شدهاید.
- فرمی را در طراح فرم باز کردهاید که فیلد روی آن گذاشته شده است (سناریوی ساخت یک فرم را ببینید).
گامها
-
در طراح فرم، فیلد را روی بوم انتخاب کنید. تنظیمات آن در پنل ویژگیها ظاهر میشود.
-
الزامی را تیک بزنید تا فیلد روی این فرم اجباری شود. کنار برچسب یک فیلد الزامی یک ستارهٔ قرمز نمایش داده میشود، و تا زمانی که فیلد خالی باشد فرم از ذخیره خودداری میکند و آن را با پیام «این فیلد الزامی است.» نشانهگذاری میکند.
این جعبه از تنظیم خودِ فیلد آغاز میشود (نگاه کنید به افزودن یک فیلد به موجودیت)، پس فیلدی که هنگام ساخت الزامی علامت خورده باشد اینجا از پیش تیک دارد — و این همان چیزی است که کاربر روی فرم میبیند. اگر دست نزنید، جایگذاری صرفاً از فیلد پیروی میکند؛ اگر تیک را بردارید، این فرم میگوید فیلد اختیاری است، هرچه بعدها تنظیم خودِ فیلد بگوید.
-
فقطخواندنی را تیک بزنید تا مقدار فیلد نمایش داده شود ولی کاربر نتواند آن را تغییر دهد. یک فیلد فقطخواندنی بهصورت متن ساده و بدون کنترل ورودی نشان داده میشود.
-
گزینهٔ ذخیره را انتخاب کنید.
پشت صحنه چه اتفاقی میافتد
الزامی و فقطخواندنی ویژگیهای جایگذاری فیلد روی همین فرم هستند، نه خودِ فیلد — پس یک فیلد میتواند روی یک فرم الزامی و روی فرمی دیگر اختیاری باشد. اینها درون تعریف فرم ذخیره و در برابر شمای فرم بررسی میشوند.
جایگذاری تنها زمانی الزامی را ذخیره میکند که با تنظیم خودِ فیلد فرق داشته باشد. همین است که باعث میشود فیلدی که بعدها الزامی شود، به هر فرمی که خلافش را نگفته سرایت کند، در حالی که فرمی که آگاهانه آن را سست کرده تصمیمش را نگه میدارد.
الزامیبودن یک قاعدهٔ فرم است، درست همانطور که در پاوراپس هست — و یک محدودیت پایگاهداده نیست. هر ستون موجودیت در سطح پایگاهداده تهیپذیر است، بنابراین:
- فرم است که «این را پر کن» را اعمال میکند: بررسی هنگام ذخیره در مرورگر اجرا میشود، و یک مقدار الزامیِ نبود، ذخیره را بدون رفتوبرگشت به سرور متوقف میکند.
- رکوردی که به شیوهٔ دیگری ساخته شود (یک درونریزی، یک فراخوانی API، یک ذخیرهٔ جزئی) بهخاطر نبودِ یک فیلد الزامی رد نمیشود. تنها مقداری که سرور بر آن پافشاری میکند فیلد اصلیِ (نامِ) رکورد است، چون هر فهرست و جستوجویی رکورد را با آن نمایش میدهد.
چون الزامیبودن روی فرم است نه روی ستون، میتوانید یک فیلد الزامی را به جدولی موجود بیفزایید یا آن را سست کنید، بیآنکه هیچ دادهای بازنویسی شود.
عیبیابی
- ستاره و بررسی الزامی ظاهر نمیشوند. — مطمئن شوید الزامی را روی جایگذاری فیلد تیک زدهاید (خودِ فیلد را انتخاب کنید، نه بخشِ آن را) و فرم را ذخیره کردهاید. الزامیبودن پیشفرضِ خودِ فیلد تنها زمانی اعمال میشود که جایگذاری آن را بازنویسی نکند.
- فیلدی که فقطخواندنی کردم هنوز مقدار قبلی را ذخیره میکند. — فقطخواندنی یعنی کاربر نمیتواند فیلد را روی این فرم ویرایش کند؛ مقداری که از پیش روی رکورد است نمایش داده و همانگونه نگه داشته میشود. برای آنکه اصلاً مقداری نوشته نشود، فیلد را از فرم بردارید.