我正在构建asp.net mvc5应用程序,但没有足够的知识来解决它。我有一个需要验证的表单,然后使用ajax发布。我使用Ajax.BeginForm()
@using (Ajax.BeginForm("ActionMethod", "Controller", new { id =
"form"}, new AjaxOptions { HttpMethod = "POST", OnBegin =
"FormValidation", OnSuccess = "WriteMessage" }))
内部函数FormValidation我有自己的验证代码,除其他外,我已经进行了ajax调用以从数据库中获取数据。如果函数返回false表单未提交,但如果返回true表单则提交。我成功地以json格式获取数据。我获取的数据是来自ajax的内部成功回调,并且不能在其外部使用,因此内部成功回调我有验证码。但是当我在成功回调中的验证代码失败时,我希望不提交该表单,但是向用户显示该错误。如何阻止表单被提交或者可能还有另一种方法。
我的控制器操作:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include="ID,Date,Name,Surname,Adress,ProjectName")] Data data)
{
if (ModelState.IsValid)
{
db.Data.Add(data);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(data);
}
答案 0 :(得分:0)
为什么不使用dataannotations?
http://www.asp.net/mvc/tutorials/mvc-music-store/mvc-music-store-part-6
尝试这样做是因为使用Dataannotations可以处理客户端和服务器端验证
所以请尝试....