jQuery discrète validation ignore les données-val-de message requis dans MVC3
J'ai utilisé la méthode décrite ici pour localiser mon annotation de données des messages et fondamentalement, il fonctionne très bien dans la forme normale de postes. Je peux voir la version localisée de message de validation côté client.
Cependant, le problème se produit lorsque j'ai une vue partielle qui a le champs de saisie pour être validé et est chargé à l'aide d'un appel ajax. Pour une raison quelconque, j'ai le défaut de message de validation ("Ce champ est obligatoire") à la place de mon message localisée qui est défini dans les données-val-requis attribut de l'élément.
J'ai vérifié les points suivants:
1. J'ai inclus à la fois "jquery.validate.min.js" et "jquery.validate.unobtrusive.min.js".
2. J'ai vérifié l'ajax, et il ne contiennent des données-val-attribut obligatoire avec message localisée.
J'ai déjà essayé les solutions suivantes:
1. J'ai essayé de l'analyse de la réponse ajax (qui n'a pas fonctionné)$.programme de validation.discrète.parse('formulaire')
2. L'analyse du contenu dynamique pour la validation comme décrit ici. Toujours pas de solution.
J'ai un pressant date limite et c'est de me troubler.
Le contenu dynamique est soumis normalement avec le reste de la forme.
Enfin, a eu une percée. Il y avait deux formes dans ma page, l'une dans la page d'index et un dans la page partielle. Les boutons dont cliquez sur la forme que pourrait présenter ont été sur la page d'index. J'ai déplacé les boutons de la page partielle de sorte qu'il est à l'intérieur de l'élément de formulaire de la page partielle, et voilà! il a bien fonctionné. Bien que le problème est résolu, je ne sais pas ce qui a causé le problème et comment le mouvement de l'boutons au plus profond de la forme résolu? Mon problème est résolu mais si quelqu'un peut m'aider à comprendre la cause, j'ai pu le marquer comme réponse et de près cette question.
La résultante de balisage (le chargement de la vue partielle) créer un formulaire dans un formulaire? Si oui, que serait le problème. Un formulaire ne peut pas avoir une autre forme.
Oui, la balise contient un formulaire dans un formulaire. Les éléments avec les attributs de validation ont été dans l'intérieur de la forme, tandis que les boutons étaient dans la forme extérieure. Je suppose que c'était la soumission de la forme extérieure. Pourquoi l'intérieur du formulaire de créer un problème?
OriginalL'auteur sprisoner | 2012-06-14
Vous devez vous connecter pour publier un commentaire.
Je pense que vous avez déjà essayé ceci: stackoverflow.com/questions/4406291/jquery-validate-unobtrusive-not-working-with-dynamic-injected-elements - la réponse de Steve Agneau m'a le plus aidé.
Fondamentalement, vous avez besoin de ré-initialiser le validateur chaque fois que vous modifiez le contenu de la page, comme le code de validation crée une liste pour suivre les contrôles qu'il doit valider qu'une seule fois, au chargement de la page...
J'ai aussi semblait avoir à ajouter un peu de code supplémentaire pour aller à travers et assurez-vous que les entrées ont été nommés correctement.
Donnez-moi un instant et je vais creuser le code.- hum, désolé, ce code a été le cadre d'une application cliente, et je ne peux pas le poster. Pas trop sûr que ça aurait fait une différence quand même...OriginalL'auteur Tieson T.
Juste au cas où quelqu'un tomber dans cette question, que les états de documentation, il est nécessaire que votre domaine a un
name
attribut:Source
OriginalL'auteur Reuel Ribeiro