1

mvc asp.net mvc4 アプリを使用しています。1 つのエンティティを正規表現で検証します。

間違ったデータを入力すると (正規表現がアクションをブロックしている場合)、エラー メッセージは表示されませんが、検証されたフィールドが強調表示されます。

それ以外の場合、有効なデータを入力すると (正規表現はアクションをブロックしません)、データが保存されるため、正常に動作します。

質問 : エラー メッセージが表示されないのはなぜですか?

私のエンティティで:

[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 に答える