J'ai un problème étrange par lequel le ValidationSummary n'est pas affiché. Cependant, les ValidationMessage sont affichés. J'ai vérifié la source de la page de sortie et ce n'est pas comme si elles étaient dans une couleur qui les obscurcit. J'utilise le RC. Des idées?asp.net MVC - ValidationSummary n'affiche pas
Edit: point de rupture fixé à ValidationSummary montre:
ViewData.ModelState.Values[1].ErrorMessage = ""
ViewData.ModelState.Values[1].Exception.InnerException.Message = "4a is not a valid value for Int32"
Est-ce que ValidationSummary utilise ErrorMessage et ValidationMessage utilisent InnerException.Message?
Mon code de vue est:
<%@ 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>
Salut Craig: Pour PurchaseOrderID (entier) et la date (date) je suis entré dans les chaînes. J'ai essayé avec/sans messages d'erreur personnalisés. J'utilise UpdateModel pour obtenir des erreurs supplémentaires. Je suis un n00b et je suis à peu près au courant de ce que vous dites. J'ai mis à jour ma question avec un peu plus d'infos. –
Salut, je pense aussi que c'est un bug car mon résumé de validation n'affiche pas toutes les erreurs mais mes messages de validation en ligne le sont. Je pense que ce bug a été introduit dans MVC2 RC2. – Naz
Le lien que Microsoft a modifié pour GetUserErrorMessageOrDefault semble être rompu. Ce lien devrait fonctionner: http://aspnetwebstack.codeplex.com/SourceControl/changeset/view/f1511797ea32#src/System.Web.Mvc/Html/ValidationExtensions.cs – Jay