【问题标题】:Remove red border on a field after using MVC unobtrusive validation使用 MVC 不显眼验证后删除字段上的红色边框
【发布时间】:2014-12-31 16:40:06
【问题描述】:

我正在尝试在验证后删除字段上的红色边框。我仍然希望该字段得到验证,但周围没有红色边框。如果验证失败,我希望在其余字段上显示红色边框。

我试过了,它没有删除那个字段上的红色边框。

$(function () {
    $("form").submit(function (e) {
        $(this).validate();

        $(".SomeClass").removeClass("input-validation-error");
        alert();
    });
});

我没有收到任何错误消息。已显示警报,但该字段上仍保留红色边框。

【问题讨论】:

  • 表示.SomeClass元素不是input-validation-error类的元素。发布您的 HTML。
  • 请使用 css 检查器查看涉及哪些类。没有足够的信息可供任何人帮助您
  • 我不打算使用我发布的代码。如果有人知道如何删除一个字段上的红色边框,但不知道验证字段的其余部分,我会很高兴。
  • 从您发布的代码中无法确定,但是通过检查器检查哪个类设置了红色边框,也许是.error?
  • input-validation-error 是设置红色边框的类。它不是使用 Jquery Validate 自动完成的,还是 MVC?这是我试图在验证中删除红色边框的字段。 @Html.EditorFor(model => model.SomeField, new { htmlAttributes = new { @class= "SomeClass" } })

标签: jquery asp.net-mvc validation


【解决方案1】:

我看过几篇关于在各种情况下遇到 removeclass 问题的人的堆栈溢出帖子。我还没有深入研究过为什么会这样,所以我现在只是为你推荐了一个替代选项。我认为 toggleClass() 可能会为您解决问题。尝试 togglecClass() 而不是你的 remove 方法。

【讨论】:

  • 我相信您的目标是正确的课程。那是创建红色边框的类。因此,如果您可以将其关闭,它应该会消失。
  • toggleClass 不起作用。还有其他想法吗?我猜我的函数在验证之前正在运行,这就是它不起作用的原因。
  • 我在想也许我可以用 css 代替。例如,在我的字段周围添加一个 div 并执行类似 div .input-validation-error{border : 0} 之类的操作。效果也不好。
【解决方案2】:

我想通了。我设法用 css 而不是 jquery 解决了这个问题。

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


.SomeClass
{
    width : 0;
    height: 0;
    border: 0 !important;

}

!important 是诀窍。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-05
    • 1970-01-01
    • 1970-01-01
    • 2011-10-18
    • 1970-01-01
    • 2014-10-02
    • 1970-01-01
    相关资源
    最近更新 更多