Je suis en train de charger le contenu d'une vue partielle en utilisant ajax et de sortir le HTML retourné directement à la page en remplissant le html d'un div. Voici l'ajax:Formulaire chargé en utilisant une vue partielle, afficher la réponse
$.ajax({
data: { productId: productId },
datatype: "text/plain",
type: "GET",
url: theUrl,
cache: false,
success: function (data) {
$("#contentArea").html(data);
}
});
Tout cela fonctionne comme prévu. En fonction d'un certain nombre de facteurs, le html réel dans la vue partielle varie, et l'un des scénarios possibles renvoie un formulaire qui demande un retour d'information.
J'ai la validation côté client qui fonctionne sur ce formulaire mais la validation côté serveur ne fonctionne pas.
Ma validation est FluentValidation et dans mon contrôleur je ces deux lignes (MyValidator est mon FluentValidation validateur et fonctionne correctement):
var valResult = myValidator.Validate(myRequest);
if (!valResult.IsValid) return Redirect(Request.UrlReferrer);
Cette demi-travaux, la vérification IsValid échoue à chaque fois que les données sont invalides mais alors ma redirection recharge simplement la page sans que les messages de validation côté serveur soient en place. Probablement parce que j'utilise une redirection.
Comment puis-je l'obtenir pour recharger la page mais avec les messages de validation en place étant donné que je charge dynamiquement ce formulaire en utilisant ajax?
J'ai été en mesure de travailler avec les erreurs de validation et de changer la façon dont je leur ai montré donc je marque cela comme la réponse. Merci. –