我使用MVC4和淘汰赛。 我有一个强类型的视图模型一个页面上的表单。 在该视图模型我有一些验证定义,例如:
[Required(ErrorMessage = "Title is required")]
public string Title { get; set; }
如果我做一个标准的后向窗体,不填写必填字段,我的行动看,该模型是无效的,并返回到视图,并显示一个主要的验证消息,因为我有@Html.ValidationSummary
在我的形式。 各个字段也被标记为无效(用消息),因为我已经@Html.ValidationMessageFor
与字段相关联
于是我加淘汰赛和,而不是仅仅发布形式我现在请ko.utils.postJson($("form")[0], self);
。 现在大部分一切正常,如果我发布形式不填充必填字段,我的动作检测,该模型是无效的,并返回到视图,只是现在个人验证消息显示不出来。
在字段中的填充之前的帖子也被丢失。 我试图通过阅读MVC中的视图模型和像这样的变量设置为这些值来解决这个问题。
var model = @Html.Raw(Json.Encode(Model));
然后在我的淘汰赛视图模型设定那个值
self.Title = ko.observable(model.Title);
但后来当我进入“1”,这将填补与现场“的“1”时,失败后返回。
这是不是太复杂的一种形式,所以我不希望引入一些新的验证层,如果能避免它。 我不介意学生要验证后。
谢谢,丹