قوانین 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 شود:
- نوع فایل
- اندازه فایل
- تعداد فایل
- مسیر ذخیرهسازی
- دسترسی مشاهده یا دانلود