2

je la méthode d'action suivante:ModelState.IsValid retourne toujours vrai

public ActionResult SignUp(Player player) 
{ 
     if (ModelState.IsValid) 
     {...} 
} 

Le problème est que ModelState.IsValid retourne toujours vrai, même si j'ai des erreurs dans mon modèle de joueur. Dans la classe Player, j'ai décoré certaines des propriétés avec des annotations de données pour la chaîne de caractères, etc. Si j'appelle la méthode TryValidateModel (player) avant d'appeler ModelState.IsValid, cela fonctionne bien, il renvoie false. Toute aide est appréciée.

Le modèle du joueur ressemble à ceci:

public class Player 
{ 
    public int PlayerID 
    { 
     get; 

     set; 
    } 

    [Required(ErrorMessage = "Name is required.")] 
    [StringLength(10, ErrorMessage = "Name must be under 11 characters.")] 
    public String Name 
    { 
     get; 

     set; 
    } 

    [Required(ErrorMessage = "Password is required.")] 
    [StringLength(10, ErrorMessage = "Password must be under 11 characters.")] 
    public String Password 
    { 
     get; 

     set; 
    } 
    ... 
} 
+2

montrez-nous votre modèle –

+1

pouvez-vous poster votre point de vue, en particulier votre BeginForm et autres. Dites-nous également comment vous présentez votre point de vue. Utilisez-vous RenderPartial ou existe-t-il une autre méthode d'action qui le fait pour vous? Tous entrent en jeu avec la fixation du modèle. –

+0

L'erreur sera très certainement à votre avis, ce sera le nom d'un champ de saisie ou quelque chose et il ne peut pas se lier à votre modèle. S'il vous plaît nous montrer votre vue SignUp. – eth0

Répondre

0

S'il vous plaît jeter un oeil à l'article suivant, ils ont répondu avec succès la même question que vous avez: ModelState.IsValid always returning true

Si aucune solution directe (je l'espère, il est), alors certaines idées seront certainement utiles.

S'il vous plaît laissez-moi savoir si cela est utile.

Questions connexes