J'ai une action Créer et méthode Enregistrer. La création action affiche simplement la vue comme indiqué ci-dessousValidation dans asp.net mvc
public ActionResult Create()
{
return view();
}
créer un point de vue, je reçois quelques champs comme le nom, l'adresse, etc. Une fois que l'utilisateur entre les données et cliquez sur le bouton Enregistrer, j'appelle la méthode Save à l'aide appel ajax. Dans la méthode Save, je suis en train de valider les données:
[HttpPost]
public bool Save(UserModel User)
{
if (ModelState.IsValid)
{
// save the data
return true;
}
else
{
return false;
}
}
la réponse de cette méthode est utilisée dans ajax de Create Voir:
$(function() {
$("#btnSave").click(function() {
$.ajax({
type: "POST",
contentType: "application/json;charset=utf-8",
url: "/Contoller/Save",
data:
// parameters
async: false,
success: function (data_l) {
if (data_l == true)
{
alert("record has been saved in database");
window.location.href = "@Url.Action("Index","Controller")";
}
else{
alert ("Invalid Entry");
window.location.href = "@Url.Action("Create","Controller")";
}
},
error: function() {
console.log("there is some error");
}
});
});
Ce que je veux atteindre est basée sur la réponse de la Enregistrer la méthode, je devrais effectuer deux opérations. Si les données sont correctement validées, les données sont sauvegardées et la page d'index est rechargée. Si la validation échoue, je souhaite afficher la vue de création avec les champs entrés avec les messages de validation. Je suis sûr que les attributs d'annotation de données sont correctement utilisés dans le modèle. Quelqu'un peut-il m'aider s'il vous plaît à résoudre ce problème.
ce qui ne va pas avec votre implémentation actuelle? – Neel
Je n'arrive pas à voir la vue avec les champs entrés – user3363329