آکادمی تاپ لرن


  • 1400/05/02

کارنکردن اعتبار سنجی در razor page :

سلام

توی پیج ویرایش کاربر از طریق ادمین که با razor زدید، اون اعتبار سنجی های جاوااسکریپت رو که به layout اضافه میکنم کار نمی کنه و ارور خالی بودن مقادیر فیلد های viewModel رو میده. ولی اگر پرشون کنم این ارور رو نمیده و به درستی کاربر توسط ادمین ویرایش میشه.

من میخوام این اعتبار سنجی سمت کلاینت هم انجام بشه اما نمیشه!

 چیکار کنم؟

  • 1400/05/02
  • ساعت 18:07

سلام

نمونه را بررسی کردم مشکلی نداشت 

با نمونه دقیق مقایسه کنید و لاگ کنسول مرورگر را بررسی کنید

  • 1400/05/02
  • ساعت 20:18

این تصویر دقیقا کد شماست که اجرا کردم و پسورد را خالی گذاشتم چون در viewModel به عنوان یک فیلد اجباری هست، با این ارور مواجه شدم.

مطابق تصویر زیر اسکریپ های validation رو هم به layout مربوط به admin اضافه کردم و در ویو ویرایش کاربر تگ span رو هم گذاشتم ولی بازم همین ارور رو دریافت کردم.

 

دوستان دیگر هم توی سوالات با همین مشکل مواجه هستند.

ممنون میشم راهنمایی کنید.

  • 1400/05/02
  • ساعت 20:36

متن ارور کاملا گویاست

دیباگ کنید

  • 1400/05/02
  • ساعت 22:12

بله متن ارور کاملا گویاست. منم نوشتم براتون که دلیلش چیه!!!!!

اما مشکل اینجاست این ارور رو نمیخوام سرور بررسی کنه، میخوام سمت مرورگر کنترل بشه و تا وقتی فیلد های ورودی مطابق آنچه که باید پر نشدند، اصلا فرم به سرور نباید ارسال بشه.

همانند صفحه رجیستر که دقیقا شما این کار رو انجام دادید.(با استفاده از جاوااسکریپت ها) اما توی razor page ها حتی با اضافه کردن جاوااسکریپت به layout این کار انجام نمیشه.

این مورد رو لطفا راهنمایی بفرمایید.

  • 1400/05/02
  • ساعت 22:21

عزیز طبق دوره باید رفرنس ها رو اضافه کنید ، فقط همین 

صفت های مدل ها فعال میشوند و اگر درست عمل نمیکنند با دیباگ مشکل پیدا میشه

  • 1400/05/02
  • ساعت 22:24

طبق دوره رفرنس هارو اضافه کردم و صفت ها رو هم اضافه کردم. 

صفت ها عمل می کنند که ارور نال بودن از سمت سرور دریافت میشه اما سمت کلایت نه.

شما خودتون همین تیکه ی کد (قسمت 20 دوره) رو اگر براتون مقدوره اگر تست بفرمایید مشاهده خواهید کرد که این اعتبار سنجی انجام نمیشه.

 

ممنون

  • 1400/05/02
  • ساعت 22:25

من اصلا کد خود شما رو اجرا کردم که کم و کاستی هم نداشته باشه. اما باز هم اعتبار سنجی سمت مرورگر انجام نمیشه

  • 1400/05/02
  • ساعت 22:33

نمونه را حتما تستمیکمم مشکل داشته باشه رفع و اطلاع رسانی میکنم دوست من 

  • 1400/05/02
  • ساعت 23:51

سلام مجدد

راه حل رو پیدا کردم

 

فقط کافیه در layout مربوطه (هر layout ای که می خواهید در قسمت razor page، اون اعتبار سنجی در سمت مرورگر انجام بشه) ، در بالای تمامی تگ های <scripts> کد زیر را قرار دهید:

<script src="http://code.jquery.com/jquery-1.8.3.min.js" type="text/javascript"></script>
<script src="~/js/jquery.validate.min.js"></script>
<script src="~/js/jquery.validate.unobtrusive.js"></script>

 

البته خط دوم و سوم در روت پروژه وجود داره که می بایست در جایی که اونارو دارید رفرنس میدید، بالای اون ها، خط اول رو اضافه کنید.

  • 1400/05/03
  • ساعت 00:00

ممنون اطلاع دادید

logo-samandehi