提交后需要填写字段

时间:2013-08-27 09:38:37

标签: c# validation asp.net-mvc-4 asp.net-web-api

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

enter image description here

这些错误消息当前是从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");
                }
            }
        }

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

enter image description here

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

enter image description here

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

有没有人对如何实现这个有任何想法?

提前感谢您的建议

1 个答案:

答案 0 :(得分:1)

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

要支持旧浏览器,您可以查看填充程序,例如HF5