J'ai une classe avec 2 propriétéstextes d'erreurs de validation ne semblent pas
[StringLength(8, ErrorMessage = "User name can't be longer than 8 chars!")]
[Required(ErrorMessage = "Must be filled!")]
public string NickName { get; set; }
[Required(ErrorMessage = "Must be filled!")]
[DataType(DataType.Password)]
public string Password { get; set; }
et je cette vue partielle, l'utilisateur insère ses détails et appuie sur le bouton Sumbit.
NickName:
@Html.TextBoxFor(x => x.NickName)
@Html.ValidationMessageFor(x => x.NickName)
</div>
<div>
Password:
@Html.TextBoxFor(x => x.Password)
@Html.ValidationMessageFor(x => x.Password)
</div>
<button type="submit">Log In</button>
Ceci est mon action Post,
[HttpPost]
public ActionResult LogIn(ShortUser u)
{
if (ModelState.IsValid == true)
{
if (u.PassMatchUser())
{
FormsAuthentication.SetAuthCookie(u.NickName, true);
}
else
{
ModelState.AddModelError("Error","Username/Password inncorect!");
}
return Redirect(ControllerContext.HttpContext.Request.UrlReferrer.ToString());
}
else
{
return Redirect(ControllerContext.HttpContext.Request.UrlReferrer.ToString());
}
}
Si j'insérer des valeurs non valides les textes de validation ne semblent pas.
Avez-vous vérifié si 'ModelState.IsValid' dans votre action? Il vous indique si des erreurs de modèle ont été ajoutées à ModelState. Pouvez-vous partager votre action et remplir le formulaire. – Zahed