【发布时间】:2012-03-07 10:18:01
【问题描述】:
我一直在使用 ASP.NET MVC 2 使用 KnockoutJS、KnockoutJS 映射插件和 jQuery 1.7.1 构建一个页面。我还希望能够使用 KnockoutJS 验证插件(找到 here)。但是,我需要同时进行服务器端和客户端验证。
是否可以让我的视图模型映射到使用 .extend() 方法的KnockoutJS Validation plugin?
编辑:示例。自动转这个:
[Required]
public string Firstname { get; set; }
进入这个:
var viewmodel = {
firstname: ko.observable().extend({ required: true });
}
【问题讨论】:
-
您是否在 C# 模型上使用数据注释并使用 EditorFor 填充客户端验证规则,或者您愿意吗?您可以使用 MVC 内置的相同不显眼的客户端验证,您可以将其用于标准 MVC 样式的表单,而无需太多工作(至少在 MVC3 中使用 Internet 应用程序模板)。
-
请在原文中查看我的编辑
-
这是一个非常有趣的方法,我已经考虑了很多。我一直在考虑生成从 C# 到 Javascript 的行为代码。也就是说,我认为您必须创建一些反映模型并生成 javascript 的东西。也许只是验证部分,让映射插件完成它的工作。映射和生成的验证代码的组合可以为您提供所需的内容。我认为您需要生成验证代码的原因是因为我认为您将很难仅使用 Javascript 生成验证代码,但我可能错了。
-
您当前如何在视图中生成标记?您是否手动添加 data-bind="value: someProp"?
标签: javascript asp.net-mvc validation knockout.js