从技术上讲,我已经得到了这个问题的答案,但不幸的是不是我正在寻找的答案。我不得不接受它,因为那个人一直和我一起工作,付出了很多努力。在这里,我要求同一个 qn 专门获得我所追求的答案:
我所追求的是一种在 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
以声明方式表达这一点。本质上,它归结为viewModel
以与 MVC 类似的方式表达 Knockout,但在该模型的字段上使用Knockout验证(而不是MVC 数据注释)。
在你回答之前,请阅读到最后,它的文字不多,但我在这里寻找一些具体的东西。