繁体   English   中英

jQuery验证无法正常工作

[英]jQuery Validation Not Working Properly

我正在尝试验证四个不同的领域。 后两个具有正确的验证行为,但前两个不起作用(仅应要求)。 如果我按提交而不输入任何内容,则仅最后两个字段显示错误。

这是有问题的jQuery:

        $("#advertisePost").validate({
            rules: {
                advRetailerName: {
                    required: true
                },
                advName: {
                    required: true
                },
                advPhone: {
                    required: true,
                    phoneUS: true
                },
                advEmail: {
                    required: true,
                    email: true
                }           
            },
            messages:{
                advRetailerName: {
                    required: "This is required."
                },
                advName: {
                    required: "This is required."
                },
                advPhone: {
                    required: "This is required.",
                    phoneUS: "This is an invalid phone number."
                },
                advEmail: {
                    required: "This is required",
                    email: "This is an invalid email"
                }
            }
        });

这是实际的形式本身:

 <form action="php/advertisePost.php" method="POST" id="advertisePost">
<table>
<tr>
    <td>Retailer Name</td><td><input type="text" id="advRetailerName" name="advRetailerName" class="required"/><br/><label for="advRetailerName" class="error" generated="true"></label></td>
</tr>
<tr>
    <td>Your Name</td><td><input type="text" id="advName" name="advName" class="required"/><br/><label for="advName" class="error" generated="true"></label></td>
</tr>
<tr>
    <td>Phone Number</td><td><input type="text" id="advPhone" name="advPhone" class="required"/><br/><label for="advPhone" class="error" generated="true"></label></td>
</tr>
<tr>
    <td>Email Address</td><td><input type="text" id="advEmail" name="advEmail" class="required"/><br/><label for="advEmail" class="error" generated="true"></label></td>
</tr>
</table>
    <input type="button" value="Submit" id="advSubmit"/>
</form>

我什至尝试将必需的类添加到每个字段。 我知道这也不是消息处理问题。 前两个字段根本不遵循验证规则。 有什么帮助吗?

这样尝试

$.validator.addClassRules({
      advPhone: {
          required: true,
          phoneUS: true
      },
      advEmail: {
          required: true,
          email: true
      }
});

$("#advertisePost").validate();

然后将所需的类添加到前两个

或者,您可以只执行验证行,并向最后两个类别添加电子邮件和必填类

如果您只想验证前两个字段是必需的,则可以在其各自的输入字段中设置class =“ required”,并在jquery中设置advRetailerName:“ required”。 这是用于验证的文档: http : //docs.jquery.com/Plugins/Validation

似乎是验证插件中的错误。 当您仅请求“必需”参数时,可能是不理解复杂样式的规则分配吗? 您是否尝试过以下简单方法:

rules: {
    advRetailerName: "required",
    (...)
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM