【发布时间】:2011-11-09 16:54:56
【问题描述】:
如何让数据注释与自定义 jquery 脚本对话。
public class ProductViewModel
{
[Required]
public string Name { get; set; }
}
@using (Html.BeginForm)
{
@Html.EditorFor(model => model.Name)
@Html.ValidationMessageFor(model=>Model.Name)
<input type="submit" value="Submit" id="NewVarianceSubmitButton" />
}
Now jquery
$(":submit").click(function () {
if dataannotations are all valid above then ...BUT HOW!
$(this).clone().insertAfter($(this)).attr("disabled", "true");
$(this).hide();
【问题讨论】:
-
我同意 Aliostad,您只需要启用客户端验证。如果您需要编写自定义属性,我写了一篇博文here,其中链接到
ContainsAttribute的完整项目示例 -
看了你的文章,有点迷糊。您建议我创建一个自定义属性,将其放在字符串名称上并让 mvc 为我解决?
-
你想做什么但不起作用?当您启用客户端验证时,MVC 会为您“弄清楚”。我的帖子只是从自定义属性的角度向您展示了这是如何完成的。 DataAnnotations 命名空间提供了足够的属性,您可能不需要自定义属性。您确实需要在页面中的 jquery 脚本之后包含
jquery.validate和/或不显眼的文件,以便客户端验证正常工作。
标签: c# jquery asp.net-mvc-3