在我的ASP MVC 5应用程序中,我有一个带有IEnumerable属性的模型,在表单中表示为复选框列表。我想验证其中至少有一个被选中。这在我看来是一件简单的事情,但我无法让它发挥作用。验证在服务器端正常工作。
我写了一个类似于此的不引人注意的验证器:
$.validator.addMethod('selectone', function (_, container) {
// Check that at least one checkbox is checked.
return $(container).has('input[type=checkbox]:checked')
})
但问题是没有一个字段可以附加它,所以它永远不会运行(我已经在调试器中检查过了。)
我试图添加一个模拟ASP MVC属性的虚拟输入(data-val = true,data-val-selectone = ...),但我无法获得验证器来运行它。
有没有好办法呢?