Client-Seitige Validierung mit Data Annotations in ASP.Net MVC3

Ich bin mit ASP.Net MVC3 mit VB.

Ich in der Lage gewesen, um die server-seitige Validierung mit data annotations arbeiten. Unten ist mein entsprechender code:

Meiner Ansicht Modell:

   <Required(ErrorMessage:="Last Name is Required.")>
        Public Property SearchLName() As String

        <Required(ErrorMessage:="First Name is Required.")>
        Public Property SearchFName() As String

        <Required(ErrorMessage:="Zip Code is Required.")>
        <RegularExpression("^[0-9]{5}", ErrorMessage:="Zip Code must be 5 digits long and contain only numbers.")>

In meiner form auf dem Stadtplan:

  <div><%= Html.LabelFor(Function(model) model.SearchFName)%>
       <%= Html.TextBoxFor(Function(model) model.SearchFName)%></div>
    <p><%= Html.ValidationMessageFor(Function(model) model.SearchFName)%></p>

 <div><%= Html.LabelFor(Function(model) model.SearchLName)%>
      <%= Html.TextBoxFor(Function(model) model.SearchLName)%></div>
   <p><%= Html.ValidationMessageFor(Function(model) model.SearchLName)%></p>

  <div><%= Html.LabelFor(Function(model) model.SearchZip)%>
       <%= Html.TextBoxFor(Function(model) model.SearchZip)%></div>
    <p><%= Html.ValidationMessageFor(Function(model) model.SearchZip)%></p>

Server-seitige Validierung funktioniert perfekt. Allerdings bin ich mir nicht sicher wie man die client-Seite arbeiten. Ich importierte die folgende JQuery-scripts, aber es scheint nicht, einen Unterschied zu machen.

<script src="<%: Url.Content("~/Scripts/jquery.validate.min.js") %>" type="text/javascript"></script>
<script src="<%: Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js") %>" type="text/javascript"></script>

Könnte mir jemand sagen, welcher Schritt fehlt mir? Danke.

EDIT:

Als follow-up, die folgenden Informationen können hilfreich sein.
Meine web-config hat die folgenden Einstellungen:

 <appSettings>
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
  </appSettings>

Meine master-Seite hat Sie Folgendes in den Kopf und ich habe überprüft, dass meine jquery-Datei ist die gleiche version wie die Referenz.

<script src="<%: Url.Content("~/Scripts/jquery-1.5.1.min.js") %>" type="text/javascript"></script>

Bekomme ich die client-seitige Validierung zu arbeiten - indem Sie für bestimmte html-Elemente, die auf die genaue Art des Fehlers, die auftreten können (siehe diese wie erwähnt auf die Antworten: http://msdn.microsoft.com/en-us/vs2010trainingcourse_aspnetmvccustomvalidation_topic5). Dies hat jedoch zwei Probleme: 1) Es wird nie server-seitige Validierung, so wäre dies ein problem, wenn jemand hat javascript deaktiviert, und 2) Meiner Ansicht muss sich bewusst sein, von der Art der Fehler, die auftreten können, so dass für jeden Daten-Anmerkung, die ich dem Modell hinzufügen, muss ich hinzufügen, ein weiterer Fehler, den Typ der Ansicht.

Fand ich diesen Artikel hilfreich war, darüber zu reden, wie einstellen, damit die client-und server-seitige Validierung: http://weblogs.asp.net/scottgu/archive/2010/01/15/asp-net-mvc-2-model-validation.aspx

Aber es funktioniert nicht für mich arbeiten, und mein Gedanke war, dass vielleicht es ist, weil es konzentriert sich auf MVC2. Ich war in der Lage, server-side-Funktion, aber nicht auf client-Seite.

EDIT:
An diesem Punkt, ich bin putting off Gedanken über die client-seitige Validierung, da der server-Seite ist wichtiger. Ich werde sehen, was ich tun kann, über das einrichten der client-Seite, nachdem der rest der Anwendung funktioniert. Wenn ich jemals herausfinden, was ich falsch gemacht habe, ich werde aktualisieren diesen Beitrag.

InformationsquelleAutor user158017 | 2011-07-18
Schreibe einen Kommentar