使用内置的ASP.NET MVCvalidation和向导方法

我正在使用我的向导的JQuery Steps Plugin基本表单示例 。

在此示例中,您将注意到他们正在使用JQuery Validate插件,这是ASP.NET MVC在提交表单时自动使用的插件。

我试图弄清楚当用户点击继续时如何validation当前步骤中的表单字段,但使用ASP.NET MVC语法,因为我希望我的数据注释仍然有效。

这是我的ASP.NET MVC版本的基本表单示例(注意我有asp-for和asp-validation-for set for everything):

Basic Info

Location

Contact Info

例如,当用户单击“下一步”时,我希望“名称”字段进行validation。 当用户在步骤2中单击下一步时,我希望City字段进行validation,依此类推……我习惯一次提交单个表单并允许ASP.NET MVC自动validation,在这种情况下我需要在实际提交之前要求它validation几个不同的时间。

这是我的JS:

 var form = $("#example-form"); form.validate({ errorPlacement: function errorPlacement(error, element) { element.before(error); }, rules: { confirm: { equalTo: "#password" } } }); form.children("div").steps({ headerTag: "h3", bodyTag: "section", transitionEffect: "slideLeft", onStepChanging: function(event, currentIndex, newIndex) { form.validate().settings.ignore = ":disabled,:hidden"; return form.valid(); }, onFinishing: function(event, currentIndex) { form.validate().settings.ignore = ":disabled"; return form.valid(); }, onFinished: function(event, currentIndex) { //alert("Submitted!"); form.submit(); } });