1

我正在尝试使用此处http://validator.codeplex.com中的脚本验证表单。

这是我的 HTML 表单:

<form action="#" method="POST" id="input" autocomplete="on">
    <fieldset>              
        <input type="text" name="name" id="name" value=""  maxlength="60" validate="form" require="Please enter your name." />
        <input type="email" name="email" id="email" value=""  maxlength="80" validate="form" require="Please enter your email address." email="Please enter a valid email address." />
        <input type="url" name="url" id="url" value=""  maxlength="400" validate="form" require="Please enter your website." />
        <input type="checkbox" id="updates" name="updates"  />
        <input type="checkbox" id="agree" name="agree"  validate="form" require="Please agree to the terms."/>
        <input type='submit' value=""  id="submit" onclick="return validate('form');" />
    </fieldset>
</form>

除复选框外,所有字段均已正确验证。我不确定如何使用脚本正确验证复选框部分。有什么想法吗?

另外-这里是javascript部分:http: //jsfiddle.net/baumdexterous/TBtSD/

谢谢!!

4

2 回答 2

1

在验证器脚本中添加两行,如下所示:

function check(elm) {
  var jelm = $(elm);

  var listsize = jelm.find("input:radio, input:checkbox").size();
  if (jelm.attr("disabled") || listsize > 0 && listsize == jelm.find("input:radio:disabled, input:checkbox:disabled").size())
    return "";

  //ADD THESE TWO LINES
  if (jelm.attr("require") && jelm.is(":checkbox:not(':checked')"))
    return "require";
  //------------------------

  //if empty value only perform required validation
  if ((jelm.val() == "" || jelm.val() == null) && jelm.find("input:radio:checked, input:checkbox:checked").size() == 0)
    return jelm.attr("require") ? "require" : "";
于 2012-07-08T22:15:17.303 回答
1

正如@jrummell 在评论中提到的那样,询问插件的支持会更有益,如果它是一个选项,我建议切换到validate.js

这是带有您的标记的演示

于 2012-05-29T18:23:42.630 回答