1

在我正在处理的申请表提交后,我需要指出必填字段,目前我可以在屏幕顶部显示缺少的字段列表,如下所示:

在此处输入图像描述

这些错误消息当前正在从 web api 发送回来,然后通过 AddModelErrors 方法添加到 ModelState 中,我用来执行此操作的代码如下所示:

if (model.ApplicationValidations != null)
        {
            foreach (var item in model.ApplicationValidations.Select((validationMessage) => new {validationMessage}))
            {
                if (item.validationMessage.URL == "Apply Personal Details")
                {
                    ModelState.AddModelError("required fields", item.validationMessage.FieldName + " is required");
                }
            }
        }

在我处理过的类似表格上,必填字段最初旁边会有一个红色星号:

在此处输入图像描述

提交表单时,那些不包含数据或数据格式不正确的字段将突出显示为粉红色,如下所示:

在此处输入图像描述

我只需要突出显示该字段以显示何时显示模型错误,当前表单会在用户移动到下一部分时保存数据,仅当最终提交表单时才需要验证是否显示突出显示.

有人对我如何实现这一点有任何想法吗?

提前感谢您的建议

4

1 回答 1

1

您可以根据 Web API 调用返回的错误数据,使用 Javascript 在 DOM 元素上调用 HTML5“setCustomValidity()”。有关 HTML5 验证的更多信息,请参阅这篇关于HTML5 约束验证的文章。

要支持较旧的浏览器,您可以查看诸如HF5之类的 polyfill 。

于 2013-08-29T09:42:00.897 回答