I a récemment mis en validation à distance dans ma forme:les causes de validation à distance présentent des entrées (plusieurs de soumission de boutons) pour être null
ViewModel:
[Remote("IsTagUnique", "myController", "myArea", ErrorMessage = "This tag already exists.")]
public string tag { get; set; }
Controller:
public ActionResult IsTagUnique(string tag)
{
using (db)
{
try
{
var myTag = db.ASAuftraege.Single(m => m.tag == tag);
return Json(false, JsonRequestBehavior.AllowGet);
}
}
catch (Exception)
{
return Json(true, JsonRequestBehavior.AllowGet);
}
}
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult myView(string Send){
// doSomething
}
Voir (appelé "myView")
@Html.TextBoxFor(m => m.tag) @Html.ValidationMessageFor(m => m.tag)
<button class="form-button-submit" type="submit" name="Send" value="Send">Send</button>
La validation fonctionne parfaitement bien. Problème: lorsque je clique sur le bouton Envoyer sans déclencher manuellement la validation sur le champ d'étiquette une fois en cliquant dans le champ et en cliquant ensuite ailleurs, la fonction "IsTagUnique" est exécutée avant la fonction myView(). Cela provoque mes entrées de soumission (j'ai effectivement plusieurs boutons d'envoi, tout comme celui montré dans la vue (nom différent/valeur de cours) pour être nul.Toute idée que je peux faire? J'ai essayé de déclencher la validation manuellement en donnant mise au point et le flou l'étiquette-champ, et en déclenchant un événement de changement ne déclenche pas la validation, bien que