IE中的MVC JQuery.unobtrusive客户端验证

时间:2017-01-26 16:33:54

标签: jquery asp.net-mvc forms validation internet-explorer

我目前正在研究MVC应用程序。此应用程序使用@ Html.EnableClientSideValidation()帮助程序和不显眼的验证:

<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />

表单元素本身就像这样构建在一个表单中:

<div class="form-group row" id="countRow">
    <div class="col-md-4 col-xs-4">
        <label class="control-label" for="Entry_Count"></label>
    </div>

    <div class="col-md-8 col-xs-8">
        @Html.EditorFor(m => m.Entry.Count, new { @class = "date-picker" })
        @Html.ValidationMessageFor(model => model.Entry.Count, "", new { @class = "text-danger" })
    </div>
</div>

在Chrome和Firefox中,这很好用,但IE显示没有验证消息,当我发布表单时,它为我提供了一个JSON,其中包含所有验证错误,如下所示:

{
    "Exception": null,
    "ErrorMessage": "Bitte geben Sie eine Zahl >= 0,002 ein"
}

我很想告诉我的员工只使用非IE的浏览器,但我认为这不会很快发生。

这是否发生在任何人身上,或者是否有人能指出我正确的方向?谢谢!

1 个答案:

答案 0 :(得分:0)

好吧,似乎这不是验证本身的问题,而是加载javascript文件的组合(或顺序)。在玩了一遍并尝试了一下之后,我找到了解决方案。我从我的包中删除了jquery验证和Globalize JS,并将它们分别放入局部视图中,现在它可以正常工作。

TL; DR; Jggling与JS文件解决了问题