מדריך ASP.NET MVC

מדריך ASP.NET MVC – תקינות הקלט – פעולות בסיסיות

‏ • Hi Tech

בפרק הקודם למדנו כיצר להגדיר Action חדש היודע לקבל את הנתונים שנשלחים מה-Browser. בפרק זה אנו נלמד כיצד לבצע בדיקות תקינות על הקלט ולהציג הודעות למשתמש.

להורדת הקוד של הפרק הקודם לחץ כאן

פתח את הקובץ: Views\Group\Create.cshtml
הקוד המעניין בתוכו נראה כך:

<div class="editor-label">
    @Html.LabelFor(model => model.Name)
</div
>
<
div class="editor-field">
    @Html.EditorFor(model => model.Name)
    @Html.ValidationMessageFor(model => model.Name)
</div
>

להזכירך, קוד זה יוצר אוטומטית ע"י Visual Web Developer. שים לב לקריאה לפונקצית העזר Html.ValidationMessageFor. קריאה זו בודקת האם קיימת הודעת שגיאה עבור השדה Name בתוך אובייקט השירות ModelState. במידה והודעה שכזו נמצאה אזי ייכתב ה-HTML המתאים.

כלומר, על מנת להציג הודעות למשתמש עלינו לעדכן את ה-ModelState בתוך ה-Action המתאים.

פתח את הקובץ Controllers\GroupController.cs וזהה את הפונקציה Create. יש לעדכן אותה באופן הבא:

[HttpPost]
public ActionResult Create(Group group)
{
  if (string.IsNullOrEmpty(group.Name))
  {
    this.ModelState.AddModelError("Name",
"Please specify a name");
    return View(group);
  }

  AddressBookDB db = AddressBookDB.Create();
  db.Root.Items.Add(group);

  return RedirectToAction("Index");
}

שים לב לקריאה לפונקציה AddModelError. פונקציה זו רושמת שגיאה חדשה בתוך ה-ModelState. ה-View ימצא את השגיאה ויציג אותה למשתמש.

הרץ את הפרויקט ונסה לייצר קבוצה חדשה ללא שם. שים לב להודעת השגיאה שמוחזרת מהשרת:

image

בפרק זה למדנו כיצד ניתן לעדכן את ה-ModelState ולהכניס לתוכו שגיאות. כמו כן הראינו כי ה-View יכול להשתמש בפונקציות עזר המתחקרות את ה-ModelState ומציגות את השגיאות מתוכו.

בפרק הבא נלמד כיצד להשתמש ב-Data Annotation ולצמצם עוד יותר את הקוד שמבצע את תקינות הקלט.

תגיות: , , , ,

תגובות בפייסבוק