I'm completely new to MVC and I'm trying to figure out why a validation summary isn't displaying. Here's the code:view:\[code\]<% using(var form = Html.BeginForm("Create", "User")){%> <table> <thead> <th>Create User</th> <th><%= Html.ValidationSummary(false) %></th> </thead> <tbody> <tr> <td><%= Html.LabelFor(model => model.Creating.Username) %>:</td> <td><%= Html.TextBoxFor(model => model.Creating.Username) %></td> </tr> <tr> <td><%= Html.LabelFor(model => model.Creating.Firstname) %>:</td> <td><%= Html.TextBoxFor(model => model.Creating.Firstname)%></td> </tr> <tr> <td><%= Html.LabelFor(model => model.Creating.Lastname) %></td> <td><%= Html.TextBoxFor(model => model.Creating.Lastname) %></td> </tr> <tr> <td colspan="2"> <input type="submit" value="http://stackoverflow.com/questions/14513395/Create" /> </td> </tr> </tbody> </table><%}%>\[/code\]Relevant controller method:\[code\][HttpPost]public ActionResult Create(User creating){ var response = _service.Save(creating); if (response.Success) return RedirectToAction("Index"); response.Errors.CopyToModelState(this.ModelState); return RedirectToAction("Index");}\[/code\]Business logic method:\[code\]public Response Save(User user){ //Place Validation logic here //Check username is between 3-30 characters and make sure the username is unique //return response if username fails business rules bool isDataInvalid = false; List<ValidationError> errorList = new List<ValidationError>(); if ((user.Username.Length < 3) || user.Username.Length > 30) { ValidationError invalidUsernameLengthError = new ValidationError(); invalidUsernameLengthError.Property = "Creating.Username"; invalidUsernameLengthError.ErrorMessage = "must be between 3 and 30 characters long"; errorList.Add(invalidUsernameLengthError); isDataInvalid = true; } if (isDataInvalid) { return new Response() { Success = false, Errors = errorList }; } _repository.Save(user); return new Response() { Success = true };}\[/code\]Helper method:\[code\]public static void CopyToModelState(this List<ValidationError> errors, ModelStateDictionary modelState){ foreach (var error in errors) { modelState.AddModelError(error.Property, error.ErrorMessage); }}\[/code\]The logic does what it's supposed to, but nothing displays. I've checked the HTML that gets output, and the validation is just not being written. I've tried assigning properties of the model to the modelState and displaying validation directly on the relevant fields, but this doesn't work either. Any ideas?