避免在MVC4中回发到控制器

时间:2014-03-09 15:14:09

标签: asp.net-mvc-4

@using (Ajax.BeginForm("EditParameterSet", "MRServiceHome", new AjaxOptions { UpdateTargetId = "parameterList" }))
{
           @Html.EditorFor(x => x.ControlList)
           <input type="submit" id="verifyBtn" value="Verify"/>
}

“EditParameterSet”是我的控制器方法,MRServiceHome是我的控制器,“parameterlist”是我的div。我正在使用局部视图创建控件。

我的控制器代码是

[HttpPost]
        public PartialViewResult EditParameterSet(SttModel model)
        {
        }

我的问题是如果有任何客户端验证错误,我怎么能避免调用控制器。我正在使用我的自定义验证逻辑进行客户端验证。

1 个答案:

答案 0 :(得分:0)

您可以拦截提交事件,然后检查表单是否有效:

$('#yourFormName').submit(function() {
   $(this).validate();
   if (!$(this).valid()) { return false; }
});

换句话说,如果您的提交事件返回false,则表单将不会提交。上面我告诉你如何使用jquery不显眼的验证来实现它,但你可以插入自定义逻辑并在不满足条件时返回false - 表单无效。