我有一个编辑表单,用户可以在其中禁用某些字段的 MVC 4 客户端验证。 我正在使用 jQuery 禁用客户端验证:
$("#CustomerOrderNumber").prop("disabled", true);
当表单首次呈现时,这工作正常。
当我发回表单然后从控制器重新显示表单时出现问题,如下所示:
[HttpPost]
public ActionResult RegisterImei(ImeiCustOrderNumberModel model)
{
return View(model);
}
因为当再次呈现表单时,已禁用的验证不再被禁用,并且该字段的不需要的客户端验证再次处于活动状态。
似乎这是由原始源标记决定的:
<input class="text-box single-line" data-val="true" data-val-required="The Customer Order Number field is required." id="CustomerOrderNumber" name="CustomerOrderNumber" type="text" value="SF1861-" />
关于在回发后再次呈现表单时如何保持禁用客户端验证的任何想法?
我制作了一个小示例应用程序来说明我的问题。如果用户禁用字段 B,则用户可以在不验证字段 B 的情况下回发模型。但是当页面再次呈现时,它忘记了字段 B 已禁用。并且字段 B 呈现不需要的客户端验证消息。我希望我的页面记住字段 B 已禁用并停止呈现客户端验证消息。Mvc4SampleApp.zip:http://sdrv.ms/14FUKa6 _