簡體   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