我正在使用 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”'填写该字段。
这不是一个太复杂的表单,所以如果可以避免的话,我不想引入一些新的验证层。我不介意有一个验证帖子。
谢谢,丹