ورود

View Full Version : سوال: Validation



azam18
چهارشنبه 27 اردیبهشت 1396, 22:09 عصر
سلام دوستان، فکر کنید ما یه جدول یوزر داریم که فیلدهای آیدی، ایمیل و پسورد را دارد و یه جدول کمپانی داریم که فیلدهای تلفن و فکس را دارد و این فیلد ها در دیتابیس nullable نیستند و باید حتما مقدار دهی شوند، حالا شما تصور کنید زمان رجیستر ما از کاربر تمام فیلدهای جدول یوزر را دریافت میکنیم و از جدول کمپانی فقط تلفن را میخواهیم دریافت کنیم و فکس را در آینده باید کاربر بدهد، حالا اینجا ما از ModelState.IsValid استفاده میکنیم و شما میدانید که ام وی سی خودش از روی مدل می‌فهمه که فیلد فکس اجباری هست و ما هم اصلا فکس را از کاربر دریافت نکردیم ، آیا راهی هست که ما یه جوری فیلد را null در جدول ذخیره کنیم با اینکه این فیلد nullable نیست؟؟؟

_behnam_
چهارشنبه 27 اردیبهشت 1396, 22:16 عصر
سلام.
راه و ترفند زیاد هست. مثلا بررسی کنید که اگه فکس وارد نشده بود یه کوئری بدون فکس اجرا بشه و در غیر این صورت با فکس اجرا بشه.

azam18
چهارشنبه 27 اردیبهشت 1396, 22:20 عصر
salam mishe masalan ye mesaal bezanid

azam18
چهارشنبه 27 اردیبهشت 1396, 22:21 عصر
salam mishe masalan ye mesaal bezanid

_behnam_
چهارشنبه 27 اردیبهشت 1396, 22:34 عصر
از چ طریق به دیتابیس وصل میشید؟
و اینکه نحوه دریافت پارامترها در تابع رجیستر هم بزارید

azam18
چهارشنبه 27 اردیبهشت 1396, 22:59 عصر
Entity Framework, و در اونجا با متد add در دیتابیس درجش میکنم

Moien Tajik
پنج شنبه 28 اردیبهشت 1396, 11:42 صبح
شما میتونید از ViewModel استفاده کنید و برای اون ViewModel که فکس لازم هست Required Attribute قرار بدید و در ویو از این viewmodel استفاده کنید و مدل بصورت پیشفرض Nullable باشه تا در بقیه صفحه ها نیاز به وارد کردن نباشه .

alireza_s_84
پنج شنبه 28 اردیبهشت 1396, 11:57 صبح
سلام دوستان، فکر کنید ما یه جدول یوزر داریم که فیلدهای آیدی، ایمیل و پسورد را دارد و یه جدول کمپانی داریم که فیلدهای تلفن و فکس را دارد و این فیلد ها در دیتابیس nullable نیستند و باید حتما مقدار دهی شوند، حالا شما تصور کنید زمان رجیستر ما از کاربر تمام فیلدهای جدول یوزر را دریافت میکنیم و از جدول کمپانی فقط تلفن را میخواهیم دریافت کنیم و فکس را در آینده باید کاربر بدهد، حالا اینجا ما از ModelState.IsValid استفاده میکنیم و شما میدانید که ام وی سی خودش از روی مدل می‌فهمه که فیلد فکس اجباری هست و ما هم اصلا فکس را از کاربر دریافت نکردیم ، آیا راهی هست که ما یه جوری فیلد را null در جدول ذخیره کنیم با اینکه این فیلد nullable نیست؟؟؟
شما دارین میگین که ستون بصورت nullable تعریف نشده این یعنی یک قید روی ستون دارین و به هیچ عنوان نمیتونید رکوردی رو ثبت کنید که برای این ستون مقداری وارد نشده.
اگر فقط بحث Validation در سمت کدهاتون باشه بله میشه اعتبارسنجی رو دور زد ولی موقع ثبت باید حتما مقداری به ستون تخصیص داده بشه.
اصلا چرا باید ستونی که نال پذیر نیست رو براش مقدار نال وارد کنید؟؟؟ سناریوتون مشکل داره روش کار رو عوض کنید یا ستون رو nullable کنید

azam18
پنج شنبه 28 اردیبهشت 1396, 16:11 عصر
mersi az pasokhetoon

azam18
پنج شنبه 28 اردیبهشت 1396, 16:12 عصر
salam, shoma soal ro khoob motewajeh nashodid, baz ham mamnoon az pasokhetoon