0
我最近在我的形式实现远程验证:远程验证原因提交输入(多提交-按钮)为空
视图模型:
[Remote("IsTagUnique", "myController", "myArea", ErrorMessage = "This tag already exists.")]
public string tag { get; set; }
控制器:
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
}
查看(称为“myView”)
@Html.TextBoxFor(m => m.tag) @Html.ValidationMessageFor(m => m.tag)
<button class="form-button-submit" type="submit" name="Send" value="Send">Send</button>
验证工作非常好。
问题是:单击发送按钮时,如果没有手动触发标记字段的验证,只需单击该字段,然后单击其他位置,在“myView()”函数之前执行“IsTagUnique”函数。这导致我的提交输入(我实际上有多个发送按钮,就像视图中显示的那样(当然不同的名称/值)是空的任何想法我能做什么?我尝试通过手动触发验证聚焦和模糊标签字段,通过触发更改事件不会触发验证,虽然