پرش به مطلب اصلی

قوانین Validation

تمام inputهای خارجی باید قبل از استفاده validation شوند.

اصول الزامی

  • validation برای همه inputهای خارجی الزامی است
  • اعتبارسنجی باید در لایه مشخص و قابل تست انجام شود
  • authorization مرتبط با action باید نزدیک به همان action enforce شود
  • داده قبل از ذخیره sanitize یا normalize شود
  • policy مربوط به nullable باید صریح باشد

Mass Assignment

  • استفاده از DTO، allowlist یا سازوکار معادل باید آگاهانه باشد
  • پاس دادن مستقیم کل payload به لایه persistence ممنوع است
  • فقط فیلدهای مجاز باید ذخیره شوند

Nullable Policy

هر فیلد nullable باید دلیل مشخص داشته باشد:

  • مقدار واقعا اختیاری است
  • مقدار بعدا در flow دیگری تکمیل می‌شود
  • با داده legacy سازگار است

nullable کردن برای دور زدن validation ممنوع است.

File Upload

برای فایل‌ها باید حداقل موارد زیر validate شود:

  • نوع فایل
  • اندازه فایل
  • تعداد فایل
  • مسیر ذخیره‌سازی
  • دسترسی مشاهده یا دانلود