不要在焦点上隐藏错误

Posted

技术标签:

【中文标题】不要在焦点上隐藏错误【英文标题】:Don't hide error on focus 【发布时间】:2017-09-24 05:02:11 【问题描述】:

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

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

    control.focus();

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

以上是关于不要在焦点上隐藏错误的主要内容,如果未能解决你的问题,请参考以下文章

使用 Pure Vanilla JavaScript 在视口上显示焦点 DIV 并在滚动时隐藏非焦点 DIV

输入焦点时隐藏ios设备上的键盘

html 在焦点上隐藏占位符文本

JavaScript 如何在焦点上显示/隐藏输入值

Qt设置某一窗口获取不到焦点,或者焦点一直在某一窗口上

Safari iOS - 在输入焦点上禁用隐藏地址栏