如何突出显示字段但不在流畅验证中显示验证消息

时间:2016-05-03 03:28:29

标签: jquery validation fluentvalidation

我有一个验证包装社会安全号码(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

1 个答案:

答案 0 :(得分:0)

您可以拥有一条没有消息的规则,只需设置出错的输入。

通常在您的视图中,具有验证错误的输入将具有以下类'input-validation-error',您可以简单地将此css规则包含在您的视图中

input.input-validation-error {
    border: 1px solid red;
}

这将导致所有带有验证错误的输入以红色突出显示。

另外你可以做到

.field-validation-error {
    color: red;
}

如果您想突出显示验证消息。或者甚至做一个显示:没有隐藏它。