Comment utiliser le html.ValidationMessageFor

J'essaie d'obtenir mon point de vue pour me donner le message d'erreur suivant à la zone de texte, si un utilisateur entre quelque chose de non valide (comme une chaîne où il s'attend à un nombre). Au lieu de cela, je suis une vilaine page d'erreur disant échec de la validation lorsque l'utilisateur appuie sur soumettre.

Voici une partie de mon point de vue:

@model MembershipTest.ViewModels.AddDriverViewModel

<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>

@{
Layout = "~/Views/Shared/_Layout.cshtml";
ViewBag.Title = "Add Drivers";
}

@using (Html.BeginForm("AddDriver", "Driver"))
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)

<fieldset>
<legend>Customer Information</legend>
 <table>
     <tr>
         <td>
             @Html.Label("First Name:")
             @Html.TextBoxFor(m => m.Driver.F_Name)
             @Html.ValidationMessageFor(m => m.Driver.F_Name)
         </td>
         <td>
             @Html.Label("Gender:")

             @Html.RadioButtonFor(m => m.isMaleChecked, "true") Male
             @Html.RadioButtonFor(m => m.isMaleChecked, "false")Female
         </td>
     </tr>
     <tr>
         <td>
             @Html.Label("Last Name:")
             @Html.TextBoxFor(m => m.Driver.L_Name)
             @Html.ValidationMessageFor(m => m.Driver.L_Name)
         </td>

Et voici la partie pertinente de mon modèle:

[Required]
[StringLength(30)]
public string F_Name { get; set; }

[Required]
[StringLength(30)]
public string L_Name { get; set; }

Dans la méthode post de mon contrôleur, je assurez-vous d'utiliser

if (ModelState.IsValid)

Si l'utilisateur s'est passé pour entrer dans quelque chose comme 50 caractères dans la première zone de texte nom, je veux une erreur doit être affiché à l'aide de Html.ValidationMessageFor() à droite quand ils onglet en dehors de cette zone de texte, de sorte qu'ils puissent le voir avant d'appuyer sur envoyer. Je suis pas certains de jquery pour faire ça? Peut-être certains à l'aide de déclaration, j'ai besoin d'inclure?

  • montrer mon merci de votre modèle complet et le code du contrôleur. et qu'est-ce que le laid d'erreur que vous obtenez? il va aider.