我的模型中有这个属性:
[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字段是必需的。
如果我将required属性更改为[Required(ErrorMessage = null)],我收到错误:
必须设置ErrorMessageString或ErrorMessageResourceName,但是 不是两个。
如何在不显示错误消息的情况下突出显示文本框,同时仍允许其他验证的错误消息?
答案 0 :(得分:0)
我认为这应该有用。
[Required(ErrorMessage = " ")]
[StringLength(40, ErrorMessage = "First Name must not be more than 40 characters.")]
public string FirstName { get; set; }
答案 1 :(得分:0)
我不知道一种可靠的方法来破解验证过程,但你可能会破解这样的表单提交过程(在我的头脑中并且未经测试):
$("#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字段是必需的"显示在验证摘要中,隐藏它。首先隐藏整个块,防止它闪烁。