不要在焦点上隐藏错误

Don't hide error on focus

我正在使用 asp.net mvc 进行不显眼的验证以在我的模型上显示错误消息。还使用 devexpress mvc 助手来构建剃刀视图。当从回调面板执行回调时,它会返回错误消息显示的模型错误。由于我们进行调用的方式,devexpress 不会错误地将焦点设置到控件上。所以我写了一个函数来查找控件是否有错误并设置焦点

function OncbpEndCallback(s, e) {
    var control = $("input[name='" + currentControl + "']");
    if (!HasError(currentControl)) {
        control = NextTabbable(control);
    }

    control.focus();
}

问题是很多时候当我设置焦点时它会删除验证消息。不是所有时候,而是很多时候。如何防止消息消失?

原来使用 CustomValidationAttribute 是原因。一旦我从模型中删除它,错误消息就不会消失。