只突出显示必填字段而不显示错误消息
本文关键字:显示 错误 消息 字段 | 更新日期: 2023-09-27 18:24:23
我的模型中有这个属性:
[Required]
[StringLength(40,ErrorMessage = "First Name must not be more than 40 characters.")]
public string FirstName { get; set; }
和我的视图代码:
@Html.ValidationSummary()
@Html.TextBoxFor(m => m.FirstName)
如果用户没有为字段输入值,我希望文本框高亮显示,但不希望显示错误消息。我需要仍然显示其他验证的错误消息。
如果我保持代码原样,则显示默认错误消息
FirstName字段是必需的。
如果我将所需属性更改为[必需(ErrorMessage=null)],我会得到一个错误:
必须设置ErrorMessageString或ErrorMessageResourceName,但是不是两者都有。
如何在不显示错误消息的情况下突出显示文本框,同时允许其他验证使用错误消息?
我认为这应该有效。
[Required(ErrorMessage = " ")]
[StringLength(40, ErrorMessage = "First Name must not be more than 40 characters.")]
public string FirstName { get; set; }
我不知道有什么可靠的方法可以破解验证过程,但你可以像这样破解表单提交过程(我的想法是,未经测试):
$("#theForm").submit(function () {
$('.validation-summary-errors').hide();
if (!$(this).valid()) {
$('.validation-summary-errors>ul>li').filter(function(){
return (/The FirstName field is required/i).test($(this).text())
}).hide();
}
$('.validation-summary-errors').show();
});
其概念是:如果表单无效,如果验证摘要中显示"FirstName字段是必需的",则将其隐藏。通过首先隐藏整个块来防止其闪烁。