Total jQuery n00b。我有以下(简化的)表单,其中包含两个类别/组的复选框(忽略所有其他输入):
<form id="myForm" method="post">
Category 1:
<input type="checkbox" name="check1" id="check1" value="1" />
<input type="checkbox" name="check2" id="check2" value="2" />
...
Category 2:
<input type="checkbox" name="check3" id="check3" value="3" />
<input type="checkbox" name="check4" id="check4" value="4" />
<input type="submit" />
</form>
如果在提交之后,在类别1中没有选中复选框,或者在类别2中没有选中复选框,我会尝试抛出客户端验证错误。
同样,作为一名jQuery n00b,我见过一些将错误抛出到弹出框中的示例。但是,我想要的是在使用jquery.unobtrusive.validation设置的验证错误<div>
中抛出一个错误(不记得确切的名称)。此外,由于名称完全不同,因此我无法使用一些更简单的示例。
在我的模型中,复选框实际上是布尔值(在这种情况下不能使用复选框列表),使用的是ASP.net MVC。因此,我实际上在我的.cshtml
视图中有代码:@Html.Checkbox(m => m.Model.Check1)
等等。我不认为这是相关的。但我可能错了。
发布于 2013-02-22 19:15:38
一种方法是将一个类分配给第一组复选框(比如category1
),将另一个类分配给第二组复选框(比如category2
)。然后你会做一些像这样的事情
$("#myForm").submit(function() {
if ($(".category1:checked").length == 0 || $(".category2:checked").length == 0) {
$("#errormessage").append("<p>You must check at least one checkbox in each category!</p>"); // Or however you want the validation error to be displayed
return false;
}
});
但是不太重复的做法是在每个组中的复选框周围放置一个div或其他容器元素,然后为每个.category1
赋予自己的类或ID (这样您就有了一个包含类别1中的所有复选框的div和一个包含类别2中的所有复选框的.category2
div )。然后使用$(".category1 :checked")和$(".category2 :checked")作为选择器。
发布于 2013-02-22 19:05:28
最简单的方法:
if ($('#check1,#check2').filter(':checked').length <= 0 ||
$('#check3,#check4').filter(':checked').length <= 0) {
// error message
}
剩下的就得你自己弄清楚了,因为你并没有发布任何关于如何验证这个表单的有用细节。
https://stackoverflow.com/questions/15031307
复制相似问题