Comment lire les erreurs modelstate renvoyées par Json?
Comment puis-je afficher ModelState les erreurs retournées par JSON?
Je veux faire quelque chose comme ceci:
if (!ValidateLogOn(Name, currentPassword))
{
ModelState.AddModelError("_FORM", "Username or password is incorrect.");
//Return a json object to the javascript
return Json(new { ModelState });
}
Ce qui doit être mon code dans la vue de lire le ModelState erreurs et de les afficher?
Mon code dans la vue de lire le JSON valeurs est comme suit:
function createCategoryComplete(e) {
var obj = e.get_object();
alert(obj.Values);
}
source d'informationauteur learning
Vous devez vous connecter pour publier un commentaire.
Si vous êtes de retour JSON, vous ne pouvez pas utiliser ModelState. Tout ce que le point de vue des besoins devrait être contenue à l'intérieur de la chaîne JSON. Donc, au lieu d'ajouter l'erreur de la ModelState vous pourriez ajouter le modèle que vous sérialisation:
C'est le projet de code, mais la même idée fonctionne pour moi dans la production.
L'idée principale ici est que Json erreurs prédéfinies et les noms de balises, qu'aucun des objets classiques. Pour les erreurs, les erreurs de validation HTML est re-créé à l'aide de JavaScript (à la fois haut de résumé et de la forme des éléments mettant en évidence).
Côté serveur:
Côté Client:
Pourquoi ne pas retourner l'original
ModelState
objet pour le client, et ensuite utiliser jQuery pour lire les valeurs. Pour moi, il semble beaucoup plus simple, et utilise la commune de la structure de données (.netModelState
)C#:
js:
c'est un petit tweak pour queen3 du côté client code qui gère la validation des messages, et crée un document similaire à celle créée par MVC3:
Voir ci-dessous pour code avec quelques amendements de Brent de la réponse. CheckValidationErrorResponse cherche le Résumé de Validation indépendamment du fait que c'est dans le valide ou non valide de l'état, et l'insère dans le cas contraire. Si la validation des erreurs sont trouvées dans la réponse, il s'applique de la validation,-résumé-la classe d'erreurs pour le Résumé, le reste il s'applique de validation-résumé-valide. Il suppose CSS est présent pour contrôler la visibilité de la Synthèse.
Le code efface les instances existantes de champ à une erreur de validation, et de réappliquer pour les erreurs trouvées dans la réponse.
C#
JavaScript