Sae*_*eid 4 asp.net-mvc jquery unobtrusive-javascript unobtrusive-validation asp.net-mvc-3
这是我的编辑视图的一部分:
<dt>
@Html.LabelFor(model => model.MainModel.StartDate)
</dt>
<dd>
@Html.TextBoxFor(model => model.MainModel.StartDate)
@Html.ValidationMessageFor(model => model.MainModel.StartDate)
<div class="targetDiv"> My content </div>
</dd>
Run Code Online (Sandbox Code Playgroud)
因此,当你们所有人都知道StartDate我的模型中的字段无效时不显眼时会显示错误消息,如果有效则隐藏它.现在我想为此过程添加另一个操作.我需要如果StartDate值是无效的显示"targetDiv" div,如果StartDate值是有效隐藏它.你的建议是什么?
您可以使用ModelState.IsValidField方法检查字段有效性
<div class="targetDiv" @if (Html.ViewData.ModelState.IsValidField("StartDate"))
{
<text>style="display:none"</text>
}>
My content
</div>
Run Code Online (Sandbox Code Playgroud)
您必须首先验证您的表单(假设它的 id 为 myForm,并且以下代码包含在保存按钮单击函数中):
$("#myForm").validate();
if ($("#myForm").valid()) {
$("#targetDiv").css("display", "none");
}
else {
if ($("[id='MainModel.StartDate']").hasClass("input-validation-error") {
//note the strange ID selector above, that's because it's got a . in :)
$("#targetDiv").css("display", "block");
}
else {
$("#targetDiv").css("display", "none");
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10108 次 |
| 最近记录: |