用于敲除可观察数组的ASP.NET MVC验证

时间:2016-04-05 16:41:25

标签: asp.net-mvc knockout.js asp.net-mvc-5 knockout-3.0

我正在使用一个集合(可观察数组)填充一个网格的表单,填充我使用模态窗口的数组并将新元素添加到数组中,并且网格使用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帮助器。

我是淘汰赛的新手,我将非常感谢你的帮助

0 个答案:

没有答案