1

我正在使用 mvc asp.net mvc4 应用程序。我用正则表达式验证一个实体。

当我输入错误数据时(当正则表达式阻止操作时),没有错误消息,但验证的字段被突出显示。

否则,如果我输入有效数据(正则表达式不会阻止操作),则数据将被保存,因此可以正常工作。

问题:为什么没有错误信息?

在我的实体中:

[RegularExpression("(^1000[0-9]{6}$)", ErrorMessage = "Please enter a valid Account Number")]

在 cshtml 中:

@using (Html.BeginForm()) {
        @Html.AntiForgeryToken()
        @Html.ValidationSummary(true)
...

在我的最终 html 结果文件中:

<script src="/Scripts/jquery-1.8.2.min.js"></script>
<script src="/Scripts/jquery.validate.min.js"></script>
<script src="/Scripts/jquery.validate.unobtrusive.min.js"></script>
...
<input class="text-box single-line" data-val="true" data-val-number="The field Account Number must be a number." data-val-regex="Please enter a valid Account Number" data-val-regex-pattern="(^1000[0-9]{6}$)" data-val-required="The Account Number field is required." id="AccountId" name="AccountId" type="number" value="" />

感谢帮助我,我不明白为什么它不起作用:-/我是否必须在 html 中放置一个“警告”div?好像没有但是...

4

1 回答 1

0

我只是忘记把文件放进@Html.ValidationSummary().cshtml。还有另一种显示错误的方法@Html.ValidationMessageFor(model => model.Contact),例如使用字段“联系人”。

抱歉忘记了,感谢您的关注,我希望这对某人有所帮助

于 2013-07-29T12:41:24.000 回答