我需要指出在我目前正在处理的申请表格提交后需要填写的字段,目前我能够显示屏幕顶部缺少的字段列表,如下所示:
这些错误消息当前是从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");
}
}
}
在类似的表格上,我处理过必填字段,最初会有一个红色的星号:
提交表单时,那些不包含数据或数据格式不正确的字段将以粉红色突出显示,如下所示:
我需要字段突出显示仅在显示模型错误时显示,当前表单在用户移动到下一部分时保存数据,只有在最终提交表单时才需要验证突出显示。
有没有人对如何实现这个有任何想法?
提前感谢您的建议
答案 0 :(得分:1)
您可以根据Web API调用返回的错误数据,使用Javascript在DOM元素上调用HTML5“setCustomValidity()”。有关HTML5验证的详细信息,请参阅HTML5 constraint validation上的这篇文章。
要支持旧浏览器,您可以查看填充程序,例如HF5。