3

必須と正規表現の両方の検証を機能させました。唯一の問題は、ページ内の異なる場所に両方を表示したいことです。必要な検証メッセージがテキストボックスの前に表示されるのと同じです。テキストボックスの後に正規表現検証メッセージが表示されます。どうすればできますか?

ここに私のモデルコードがあります

 [Required(ErrorMessage = "*")]
 [RegularExpression(@"^[\w-]+(?:\.[\w-]+)*@(?:[\w-]+\.)+[a-zA-Z]{2,7}$", ErrorMessage = "Invalid Email")]
 public string Email { get; set; }

ここに私のビューコードがあります

 @Html.ValidationMessageFor(p => p.Email)
 @Html.TextBoxFor(p => p.Email)
 @Html.LabelFor(p => p.Email, "Email")

上記のコードでは、テキスト ボックスの前に両方のエラー メッセージが表示されます。

@Html.ValidationMessageFor(p => p.Email) - required validation message which is "*"
@Html.TextBoxFor(p => p.Email)
@Html.LabelFor(p => p.Email, "Email")
@Html.ValidationMessageFor(p => p.Email) - regular expression validation message which is "Invalid Email"
4

1 に答える 1

0

単一のコントロールの個々の検証エラーを細かく制御できるものは何もありません。ModelState から個々のエラーを手動で解析する必要があります。このを参照してください。

于 2013-01-04T01:47:06.170 に答える