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」函數。這導致我的提交輸入(我實際上有多個發送按鈕,就像視圖中顯示的那樣(當然不同的名稱/值)是空的任何想法我能做什麼?我嘗試通過手動觸發驗證聚焦和模糊標籤字段,通過觸發更改事件不會觸發驗證,雖然