2009-07-31 4 views
2

Ma mise en page est beaucoup simplifiée si je ne peux restituer que certaines parties lorsque j'ai besoin d'afficher mon résumé de validation.Comment puis-je savoir s'il existe des erreurs de validation dans ma vue asp.net mvc?

Le problème est que vous ne pouvez pas utiliser IsValid comme il le lancera s'il est accédé avant la validation.

ViewData.ModelState.IsValid est false par défaut, cela ne fonctionnera donc pas.

La seule chose que j'ai trouvé qui fonctionne est

<%if (this.ViewData.ModelState.Values.Where(x => x.Errors.Count > 0).Count() > 0) 
    {%> 

ce suce un peu. Je cherche une meilleure version de ceci. Est-ce là dehors?

Répondre

2

Qu'est-ce que Rob a dit. Je voudrais vérifier xVal pour un excellent moyen d'attacher votre validation de modèle à la validation jquery avec peu d'effort supplémentaire.

+0

Je vais vérifier, mais je ne me demande pas comment valider, je me demande comment dire à partir de la vue s'il y a des erreurs de validation. – Will

+0

xVal s'en chargera en câblant la validation de jquery et en vous aidant à placer les erreurs dans le 'ModelState' où vous pourrez ensuite utiliser les commandes standard (par exemple:' Html.ValidationSummary'). –

+0

Juste, mais j'ai besoin de savoir dans la vue, donc je ne peux pas rendre quelque chose. Si j'attends le navigateur, j'ai des problèmes de mise en page qui seraient grandement simplifiés en ne rendant pas les parties gênantes en premier lieu. – Will

2

Avez-vous encore vérifié l'exemple de validation dans le didacticiel NerdDinner?

Intégration Validation et règles métiers avec des classes de modèle http://nerddinnerbook.s3.amazonaws.com/Part3.htm

Si vous essayez de valider avant de soumettre la page au contrôleur, vous êtes mieux de faire ça avec jQuery.

plugin jQuery: Validation
http://bassistance.de/jquery-plugins/jquery-plugin-validation/

+0

Ceci n'est pas une validation; c'est à partir de l'intérieur de la vue, déterminer s'il y a des erreurs de validation. C'est une différence subtile, je sais. Je vais vérifier les trucs du ballot. Je sais que le plugin de validation ne m'aidera pas dans cette situation, car je l'utilise déjà. – Will

+0

Je pense que je vois ce que vous essayez de faire. Je suppose que la vraie question est, pourquoi pensez-vous que votre façon de vérifier ModelState suce? Cela me semble assez solide. –

+0

Ma cible est mon postérieur, et pourtant je passe par mon coude pour y arriver. Ça sent. – Will

Questions connexes