我目前正在研究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的浏览器,但我认为这不会很快发生。
这是否发生在任何人身上,或者是否有人能指出我正确的方向?谢谢!
答案 0 :(得分:0)
好吧,似乎这不是验证本身的问题,而是加载javascript文件的组合(或顺序)。在玩了一遍并尝试了一下之后,我找到了解决方案。我从我的包中删除了jquery验证和Globalize JS,并将它们分别放入局部视图中,现在它可以正常工作。
TL; DR; Jggling与JS文件解决了问题