【发布时间】:2011-04-12 02:53:06
【问题描述】:
我的模型中有以下属性
[Required]
[DataType(DataType.PhoneNumber, ErrorMessage = "Invalid Phone Number")]
public string PhoneNumber
{
get;
set;
}
[Required]
[DataType(DataType.EmailAddress, ErrorMessage = "Invalid Email Address")]
public string EmailAddress
{
get;
set;
}
对应的View是
<td>
Email
</td>
<td>
@Html.EditorFor(model => model.EmailAddress)
@Html.ValidationMessageFor(model => model.EmailAddress, "*")
</td>
</tr>
<tr>
<td>
Phone #
</td>
<td>
@Html.TextBoxFor(model => model.PhoneNumber)
@Html.ValidationMessageFor(model => model.PhoneNumber, "*")
</td>
当我呈现此页面时,我看到Required 属性被触发。但是,如果我键入无效数据,则不会触发 DataType 属性。我看到源 html 并且没有看到为这些验证发出的任何代码。 我也有以下观点
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"/>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"/>
【问题讨论】:
标签: validation asp.net-mvc-3 razor