我正在使用MVC3构建向导步骤演示应用程序并使用razor视图引擎作为初级级别。
我在隐藏和放弃时遇到了验证问题。通过javascript显示控制权。
请按以下方式查看我的代码部分
<div class="editor-field">
@Html.EditorFor(model => model.CheckName2)
@Html.ValidationMessageFor(model => model.CheckName2)
</div>
我的javascript功能如下,隐藏&amp;在某种情况下显示
// attach nextStep button handler
$("#next-step").click(function () {
var $step = $(".wizard-step:visible"); // get current step
//check if URL2 is having any content
var val = $("#URL2").val();
if (val == "") {
$("#CheckName2").hide();
//want to remove validation here
}
else {
$("#CheckName2").show();
//want to add validation here
}
var validator = $("form").validate(); // obtain validator
var anyError = false;
$step.find("input").each(function () {
if (!validator.element(this)) { // validate every input element inside this step
anyError = true;
}
});
if (anyError)
return false; // exit if any error found
我如何在这里处理验证?
提前感谢。
答案 0 :(得分:1)
使用$(“#IdOfFormYouEdit”)强制验证表单.validate();或$(“#IdOfTextbox”)。validate();仅验证一个元素。
如果已在视图模型类中放置验证属性,则可以执行此操作。如果不这样做,可以通过添加data-val属性在元素上添加验证。例如:
<input type="text" data-val="true" data-val-number="The field someField must be a number." data-val-required="SourceId required" />