我在ASP.NET MVC3 Razor中使用“jQuery Validate Unobtrusive”.
模型
public class CommentModel
{
[required]
public string Name { get; set; }
[required]
[DataType(DataType.EmailAddress)]
public string Email { get; set; }
[DataType(DataType.Url)]
[Display(Name = "Website URL")]
public string WebsiteUrl { get; set; }
[required]
public string Message { get; set; }
}
视图
@using (Html.BeginForm("AddComment","Blog",new { @articleID = article.ID }))
{
BoxFor(m => m.commentModel.Name)
@Html.ValidationMessageFor(m => m.commentModel.Name)
BoxFor(m => m.commentModel.Email)
@Html.ValidationMessageFor(m => m.commentModel.Email)
BoxFor(m => m.commentModel.WebsiteUrl)
@Html.ValidationMessageFor(m => m.commentModel.WebsiteUrl)
但是,提交表单时,只有Name和Email返回验证错误,而Message也应该返回:
如果我将Message从TextAreaFor更改为TextBoxFor,则验证工作正常.
为什么会这样,我怎样才能在我的文本框中进行验证?
值得注意的是,我不必为此表单编写任何特定的jQuery.我按照一个教程解释了这不是必需的,因为它全部由MVC3处理.
最佳答案