Asp.net MVC 2.0 DataAnnotations convalida non emette corretta JSON
-
19-09-2019 - |
Domanda
Sto cercando di ottenere l'installazione utilizzando il validatore DataAnnotations in ASP.Net MVC 2.0 Beta, ma con il seguente modello:
public class Foo {
[Required] public string Bar {get;set;}
}
E il seguente codice nel mio punto di vista:
<%@ Page Title="" Language="C#" Inherits="System.Web.Mvc.ViewPage<Foo>" %>
<!-- later on -->
<% Html.EnableClientValidation(); %>
<% using (Html.BeginForm("Edit","Foo")) { %>
Tutto è quasi alla lettera formare gli esempi. Ciò che è emessa è:
<script type="text/javascript">
//<![CDATA[
EnableClientValidation({"Fields":[],"FormId":"form0"}, null);
//]]>
</script>
Nulla è mai emesso per dire qualunque libreria JavaScript convalida (jQuery o MS Ajax, non importa) per convalidare i campi. La convalida fa accade sul lato server, ma mai sul client, per ovvie ragioni.
Soluzione
La risposta è un po 'subdolo. I scoperto la problema è la mancanza di ValidationMessageFor
anche se c'è un ValidationSummary
. Dopo aver aggiunto il seguente:
<%=Html.ValidationMessageFor(x=>x.Bar)%>
La corretta JSON è stata emessa e la convalida jQuery ha funzionato.
Sembra strano che si sono di avere il messaggio, anche se si ha la sintesi di convalida.