ModelState.IsValid is always returning true.
Code:
user.cs
public class User
{
public int UserID { get; set; }
public string Username { get; set; }
public string FirstName { get; set; }
[Required]
public string LastName { get; set; }
}
HomeController.cs
public ActionResult SaveUser(User user)
{
if (ModelState.IsValid)
{
//create DBContext object
using (var dbCtx = new UsersDbEntities())
{
dbCtx.Entry(user).State = EntityState.Modified;
dbCtx.SaveChanges();
}
return View("ShowUser", user);
}
return View("EditUser", user);
}
Register.cshtml
@model TrainingWebsite.Models.User
<div id="myForm">
@using (Html.BeginForm("RegisterUser", "Home", FormMethod.Post))
{
if (@ViewBag.Message != null)
{
<div style="border: 1px solid red">
@ViewBag.Message
</div>
}
<table>
<tr>
<td>@Html.LabelFor(a => a.Username)</td>
<td>@Html.TextBoxFor(a => a.Username, new { id = "id_username" })</td>
<td>@Html.ValidationMessageFor(a => a.Username)</td>
</tr>
<tr>
<td>@Html.LabelFor(a => a.FirstName)</td>
<td>@Html.TextBoxFor(a => a.FirstName, new { id = "id_firstName" })</td>
<td>@Html.ValidationMessageFor(a => a.FirstName)</td>
</tr>
<tr>
<td>@Html.LabelFor(a => a.LastName)</td>
<td>@Html.TextBoxFor(a => a.LastName, new { id = "id_lastName" })</td>
<td>@Html.ValidationMessageFor(a => a.LastName)</td>
</tr>
</table>
ModelState.IsValid is true even though Last Name field is empty yet is a required field
Any help would be appreciated. Thanks in advance
David