Tengo un problema extraño por el cual no se muestra el ValidationSummary. Sin embargo, se muestran los ValidationMessage. He comprobado el origen de la página de salida y no es como si estuvieran en un color que los está ocultando. Estoy usando el RC. ¿Algunas ideas?asp.net MVC - ValidaciónSummary que no muestra
Editar: punto de rotura establecido en ValidationSummary muestra:
ViewData.ModelState.Values[1].ErrorMessage = ""
ViewData.ModelState.Values[1].Exception.InnerException.Message = "4a is not a valid value for Int32"
¿El ValidationSummary utilizar ErrorMessage y ValidationMessage utilizan InnerException.Message?
Mi código de la vista es:
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master"
Inherits="System.Web.Mvc.ViewPage<App.Models.PurchaseOrdersView>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
<title>Edit</title>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>Edit</h2>
<%= Html.ValidationSummary() %>
<% Html.BeginForm("Edit", "PurchaseOrder", FormMethod.Post); %>
<table>
<tr>
<td>
Purchase Order Id:
</td>
<td>
<%= Html.TextBox("PurchaseOrderId", Model.PurchaseOrderId)%>
<%= Html.ValidationMessage("PurchaseOrderId")%>
</td>
</tr>
<tr>
<td>
Date:
</td>
<td>
<%= Html.TextBox("Date", Model.Date.ToString("dd-MMM-yyyy"))%>
<%= Html.ValidationMessage("Date")%>
</td>
</tr>
</table>
<input type="submit" value="Save" />
<% Html.EndForm(); %>
</asp:Content>
Hola Craig: Para PurchaseOrderId (entero) y fecha (fecha) entré cuerdas. Intenté con/sin mensajes de error personalizados. Uso UpdateModel para obtener errores de adición. Soy un n00b y casi entiendo lo que dices. He actualizado mi pregunta con un poco más de información. –
Hola, también creo que esto es un error, ya que mi resumen de validación no muestra todos los errores, pero sí mis mensajes de validación en línea. Creo que este error se introdujo en MVC2 RC2. – Naz
El vínculo El cambio de Microsoft a GetUserErrorMessageOrDefault parece estar roto. Este enlace debería funcionar: http://aspnetwebstack.codeplex.com/SourceControl/changeset/view/f1511797ea32#src/System.Web.Mvc/Html/ValidationExtensions.cs – Jay