我正在使用一个集合(可观察数组)填充一个网格的表单,填充我使用模态窗口的数组并将新元素添加到数组中,并且网格使用foreach绑定绘制这些物品,工作正常。
问题是我需要验证(客户端和服务器)网格必须有项目来提交表单,我的mvc模型有一个属性来接收该集合,类似
[Required(ErrorMessage = "Events are required")]
public List<Event> Events { get; set; }
要提交表单,我正在使用一个像这样的按钮
<button type="button" class="btn btn-success btn-xs" data-toggle="tooltip" data-placement="top" title="Save Data" data-bind="click: saveData">
<span class="glyphicon glyphicon-cloud-upload"></span> Save </button>
它在knockout viewModel中使用了一个javascript函数,我调用了jqueryvalidations
self.saveData = function() {
if ($("#myForm").valid()) {
$.ajax({
url: mvcActionUrl,
type: "POST",
data: formData,
dataType: "json"
})
}
};
在表单上调用valid()所有设置的验证(数据注释)都可以工作,但是重新调整网格我不知道如何检查Observable Array是否有项目,然后显示在[Required]属性上设置的消息使用@ValidationMessageFor帮助器。
我是淘汰赛的新手,我将非常感谢你的帮助