我有一个验证包装社会安全号码(ssn)框。准确地说是三个不同的盒子。理想情况下,我希望有以下行为;如果一个方框是空白的,它应该被高亮显示为缺少信息,但只有一条消息说明缺少ssn。
代码:
RuleFor(m => m.Ssnumber1)
.NotEmpty()
.WithMessage("Social security number required");
RuleFor(m => m.Ssnumber2)
.NotEmpty()
.When(m => !string.IsNullOrWhiteSpace(m.Ssnumber1))
.WithMessage("Social security number required")
.NotEmpty()
.When(m => string.IsNullOrWhiteSpace(m.Ssnumber1))
.WithMessage("I don't want a message just highlight");
................ the third ssn box is just the same .............
添加WithMessage(string.empty)或任何等效项会导致错误,因为它需要实际的消息。但是,如果我不添加任何消息(没有WithMessage),它不会突出显示该字段。如果我添加一条实际消息,它会显示并使验证消息列表变得混乱,因为一条ssn消息就足够了。
我想我可能和这个家伙有同样的问题:Only highlight required fields without showing an error message
答案 0 :(得分:0)
您可以拥有一条没有消息的规则,只需设置出错的输入。
通常在您的视图中,具有验证错误的输入将具有以下类'input-validation-error',您可以简单地将此css规则包含在您的视图中
input.input-validation-error {
border: 1px solid red;
}
这将导致所有带有验证错误的输入以红色突出显示。
另外你可以做到
.field-validation-error {
color: red;
}
如果您想突出显示验证消息。或者甚至做一个显示:没有隐藏它。