Bonjour à tous. Je me demandais s'il y avait de toute façon que le framework MVC câble automatiquement les attributs data-val * sur les contrôles ou devons-nous créer manuellement et appliquer les attributs au contenu dynamique?Contrôles dynamiques ASP.NET MVC 3 et validation discrète
J'ai une vue qui appelle initialement une vue partielle passant dans le modèle de vue principal. Cette vue partielle est liée à une propriété complexe sur mon modèle principal. La vue partielle contient simplement un ensemble de listes déroulantes en cascade. Au chargement initial de la page, j'ai un appel à @Html.Partial("PartialName", Model)
, la validation des deux listes déroulantes fonctionne parfaitement si j'essaie de soumettre sans sélectionner les bonnes valeurs. J'ai également un autre bouton sur la page qui, s'il est cliqué, charge une autre instance de la vue partielle sur la page. Si j'essaie maintenant de soumettre le formulaire à ces contrôles, bien qu'ils soient liés au même modèle et bien que j'ai défini les correcteurs .ValidationMessageFor
, aucune validation n'apparaît pour eux car les listes déroulantes ne semblent pas être générées avec les attributs data-val * . Y a-t-il un moyen de les faire apparaître correctement? J'ai également remarqué que la balise associée <span />
associée au .ValidationMessageFor
n'est pas générée non plus. Quelqu'un a-t-il également rencontré ce problème? Si oui, comment avez-vous résolu ce problème?
MISE À JOUR
Voici la fonction javascript que j'appelle pour charger la partie sur l'événement onClick du bouton:
function AddNewVehicle() {
$.ajax({
type: 'GET',
url: '/ReservationWizard/AddVehicleToReservation',
data: $('#reservation-wizard-form').serialize(),
dataType: 'HTML',
async: true,
success: function (data) {
if (data != null) {
$('#vehicle-selection-container').append(data);
}
}
});
}
Auriez-vous un exemple de la façon dont vous l'implémentez en utilisant la pile de bibliothèques mentionnée ci-dessus? Juste pour que je puisse avoir une idée du travail que cela implique dans mon projet. Je vous remercie. – mreyeros
@mreyeros, malheureusement je n'ai pas un échantillon complet que je pourrais partager dans le domaine public avec tous les concepts. Mais pour la logique de validation côté serveur, FluentValidation.NET a une [excellente documentation] (http://fluentvalidation.codeplex.com/documentation) et une excellente [intégration avec ASP.NET MVC] (http://fluentvalidation.codeplex.com/ wikipage? title = mvc & referencedTitle = Documentation).Une fois la logique de validation côté serveur exécutée, la validation côté client consiste à suivre la documentation [jquery validate plugin] (http://docs.jquery.com/Plugins/Validation). –
Et évidemment, si vous rencontrez des difficultés à mettre en œuvre certains des concepts, vous ne devriez pas hésiter à montrer votre code sur SO et à expliquer les problèmes que vous avez rencontrés et vous aurez certainement de l'aide. –