it-swarm.com.de

Aktivieren der Clientüberprüfung in Razor-Ansichten (ASP MVC 3)

Ich versuche, clientseitige Validierung mit dieser Codezeile hinzuzufügen:

@Html.EnableClientValidation()

Aber ich bekomme immer wieder folgende Fehlermeldung:

Compiler-Fehlermeldung: CS1502: Die beste überladene Methodenübereinstimmung für 'Microsoft.WebPages.WebPageUltimateBase.Write (Microsoft.WebPages.Helpers.HelperResult)' hat einige ungültige Argumente

Funktioniert dies für andere Benutzer oder ist dies in ASP MVC 3 ein anderer Ansatz?

38
Martin

Stattdessen können Sie anstelle der erwarteten Codezeile Folgendes verwenden. 

@(ViewContext.ClientValidationEnabled = true)

Wahrscheinlich ein Versehen bei den Erweiterungsmethoden für htmlhelper.

Tatsächlich können Sie die HtmlHelper-Methode folgendermaßen verwenden

@{ Html.EnableClientValidation(); }
75
Buildstarted

In ASP.NET MVC3 müssen Sie Html.EnableClientValidation () nicht auf der Ansichtsseite hinzufügen. Aktivieren Sie stattdessen einfach die clientValidation in der Datei webconfig wie folgt:

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

dieser tag

     @{ Html.EnableClientValidation(false); }

muss vor dem kommen 

  @using (Html.BeginForm())
6
marcelo

Verwenden Sie das html <form>-Element auf Ihrer Seite anstelle von Html.BeginForm, um Ihr html-FORMULAR zu erstellen. 

Ich hatte genau das gleiche Problem und stellte fest, dass ich das FORMULAR nicht mit Html.BeginForm erstellte, um die erforderlichen Eingabeattribute data-val-required="The Email field is required." data-val="true" class="input-validation-error zu erstellen, und der Platzhalter für die Validierung nicht in die Seite eingefügt wurde, obwohl ich @Html.ValidationMessageFor(m => m.User.Role) eingefügt hatte auf meiner Ansichtsseite.

4
Simon

In meinem Fall habe ich nicht EditorFor verwendet, sondern TextBoxFor!

Stellen Sie sicher, dass Sie verwenden:

             <td>@Html.EditorFor(m => m.Email)</td>
0
MaurGi