ASP.NET MVC 2.0 DataAnnotations -Validierung emittiert nicht korrektes JSON
-
19-09-2019 - |
Frage
Ich versuche, das Setup mit dem DataAnnotations -Validator in ASP.NET MVC 2.0 Beta zu erhalten, jedoch mit dem folgenden Modell:
public class Foo {
[Required] public string Bar {get;set;}
}
Und der folgende Code meiner Ansicht nach:
<%@ Page Title="" Language="C#" Inherits="System.Web.Mvc.ViewPage<Foo>" %>
<!-- later on -->
<% Html.EnableClientValidation(); %>
<% using (Html.BeginForm("Edit","Foo")) { %>
Alles ist fast wörtlich aus den Beispielen. Was emittiert wird ist:
<script type="text/javascript">
//<![CDATA[
EnableClientValidation({"Fields":[],"FormId":"form0"}, null);
//]]>
</script>
Es wird jemals etwas ausgestrahlt, um die JavaScript -Validierungsbibliothek (JQuery oder MS Ajax, egal) zu sagen, um die Felder zu validieren. Die Validierung tut passieren auf der Serverseite, aber aus offensichtlichen Gründen nie auf dem Client.
Lösung
Die Antwort ist ein bisschen hinterhältig. ich herausgefunden Das Problem ist der Mangel an ValidationMessageFor
obwohl es eine gibt ValidationSummary
. Nach dem Hinzufügen Folgendes:
<%=Html.ValidationMessageFor(x=>x.Bar)%>
Der richtige JSON wurde emittiert und die JQuery -Validierung funktionierte.
Es scheint seltsam du scheint haben Die Nachricht zu haben, obwohl Sie die Validierungszusammenfassung haben.