jQuery Validate Unobtrusive不适用于TextArea

前端之家收集整理的这篇文章主要介绍了jQuery Validate Unobtrusive不适用于TextArea前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我在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处理.

最佳答案
使用[DataType(DataType.MultilineText)]数据注释装饰相应的模型属性,并使用Html.EditorFor Helper方法.

[required]
[DataType(DataType.MultilineText)]
public string Message { get; set; }

现在使用@ Html.EditorFor Helper方法

@Html.EditorFor(m => m.RoleDescription)

猜你在找的jQuery相关文章