【发布时间】:2013-02-28 02:28:07
【问题描述】:
从技术上讲,我已经得到了这个问题的答案,但不幸的是不是我正在寻找的答案。我不得不接受它,因为那个人一直和我一起工作,付出了很多努力。在这里,我要求同一个 q-n 专门得到我想要的答案:
我所追求的是一种声明性在 Knockout 视图模型上表达模型字段验证的方式:
拥有这个 MVC 视图模型:
public class Email
{
public string Selected { get; set; }
public string Name { get; set; }
}
public class User
{
public string UserName { get; set; }
public IList<Email> Emails { get; set; }
}
并且有这个淘汰赛viewModel:
var viewModel = {
UserName: ko.observable("@Model.UserName"),
Emails: ko.observableArray(@Html.Json(@Model.Emails) || []),
// How to express these: ???
// Email.Selected: ko.observable().extend({ required: true })
// Email.Name: ko.observable().extend({ required: true, email: true })
}
我需要在 Knockout viewModel 中进行哪些更改才能以声明方式表达这一点。
本质上,它归结为以与 MVC 类似的方式表达 Knockout viewModel,但在该模型的字段上使用 knockout validation(而不是 MVC Data Annotations)。
在你回答之前,请阅读到最后,它没有太多要阅读的文字,但我在这里寻找一些具体的东西。
【问题讨论】:
标签: asp.net-mvc knockout.js viewmodel knockout-validation knockout-mvc