2013-04-10 58 views
-1

我不知道該如何解釋。所以只是看看下面的圖像。 Jquery Validation error.驗證錯誤信息顯示不正確

我正在使用charishma管理主題。從這裏下載:https://github.com/usmanhalalit/charisma

我正在使用jquery.validate.1.11.1.js。您的任何努力將不勝感激。提前致謝..!! 更新:

我看到添加的元素是標籤。對於文本框和選擇它似乎是適當的,但對於複選框和無線電,它顯示爲像這樣的元素,因爲這些元素的大小小於文本框和選擇。看到下面的代碼生成:

<div class="control-group"> 
    <label class="control-label">Checkboxes</label> 
    <div class="controls"> 
    <label class="checkbox inline"> 
     <div class="checker" id="uniform-tnc"> 
     <span> 
      <input type="checkbox" value="option1" name="tnc" id="tnc" style="opacity: 0;" class="alert-error"> 
      <label for="tnc" class="alert-error">Agree to our terms and conditions to register with us.</label> 
     </span> 
     </div> Option 1 
    </label> 
    </div> 
</div> 

這適用於除複選框和收音機以外的所有其他輸入類型。對於這些應該是這樣的:

<div class="control-group"> 
    <label class="control-label">Checkboxes</label> 
    <div class="controls"> 
    <label class="checkbox inline"> 
     <div class="checker" id="uniform-tnc"> 
     <span> 
      <input type="checkbox" value="option1" name="tnc" id="tnc" style="opacity: 0;" class="alert-error"> 
     </span> 
     </div> Option 1 
     <label for="tnc" class="alert-error">Agree to our terms and conditions to register with us.</label> 
    </label> 
    </div> 
</div> 
+0

檢查生成的標記等於在主題預期的標記。使用Web檢查器或Firebug來查找哪些規則不正確應用。 – 2013-04-10 13:36:06

+0

將您的標記與期望的標記進行比較,使用檢查工具:) – 2013-04-10 13:38:49

+0

看起來元素的寬度設置得非常小,因此文本分成多行。嘗試在包含錯誤消息的元素的格式中添加'white-space:pre'。 – CBroe 2013-04-10 13:48:34

回答

1

一些組合我通過添加errorPlacement參數來驗證得到了解決。下面是解決方案:

errorPlacement: function(error, element) { 
    if (element.attr("name") == "tnc") 
    error.appendTo($('#lbl-tnc')); 
    else 
    error.insertAfter(element); 
} 

我改變的HTML如下:

<label class="checkbox inline" for="tnc" id="lbl-tnc"> 
    <input type="checkbox" name="tnc" id="tnc">I Agree to <a href="#">Terms & Conditions</a> 
</label> 
1

我沒有看到你的任何代碼爲您的OP中的jQuery驗證插件。我建議你創建一個完整的簡潔演示你的問題,並在OP中顯示演示。

默認情況下,jQuery Validate插件只是簡單地在input元素後面插入一個label元素並顯示錯誤。在radiocheckbox類型的情況下,label被緊接在該組中的第一之後插入。

由於這label是越來越擠,有三種方法來解決這個...

1)編輯佈局的HTML CSS &讓您對label更多的空間。

2)編輯jQuery Validate插件的回調函數/選項,當元素爲radiocheckbox時,將label放置爲不同。

3)的1 & 2.