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 回答