gpt4 book ai didi

jQuery Validate Unobtrusive 不适用于 TextArea

转载 作者:行者123 更新时间:2023-12-03 22:57:54 25 4
gpt4 key购买 nike

我正在将“jQuery Validate Unobtrusive”与 ASP.NET MVC3 Razor 结合使用。

我有一个带有“评论”表单的页面,如下所示:

型号

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 }))
{
<p>
@Html.LabelFor(m => m.commentModel.Name)
@Html.TextBoxFor(m => m.commentModel.Name)
@Html.ValidationMessageFor(m => m.commentModel.Name)
</p>
<p>
@Html.LabelFor(m => m.commentModel.Email)
@Html.TextBoxFor(m => m.commentModel.Email)
@Html.ValidationMessageFor(m => m.commentModel.Email)
</p>
<p>
@Html.LabelFor(m => m.commentModel.WebsiteUrl)
@Html.TextBoxFor(m => m.commentModel.WebsiteUrl)
@Html.ValidationMessageFor(m => m.commentModel.WebsiteUrl)
</p>
<p>
@Html.LabelFor(m => m.commentModel.Message)
@Html.TextAreaFor(m => m.commentModel.Message)
@Html.ValidationMessageFor(m => m.commentModel.Message)
</p>
<p>
<input type="submit" value="Submit Comment" />
</p>
}

但是,当提交表单时,只有 NameEmail 返回验证错误,而 Message 也应该返回验证错误:

enter image description here

如果我将 MessageTextAreaFor 更改为 TextBoxFor,则验证工作正常。

为什么会这样,如何才能在我的文本框上进行验证?

<小时/>

还值得注意的是,我不必为此表单编写任何特定的 jQuery。我遵循了一个教程,该教程解释了这不是必需的,因为它全部由 MVC3 处理。

最佳答案

使用[DataType(DataType.MultilineText)]数据注释修饰相应的模型属性,并使用Html.EditorFor辅助方法。

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

现在使用@Html.EditorFor辅助方法

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

关于jQuery Validate Unobtrusive 不适用于 TextArea,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10294699/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com