1

我使用jQuery驗證引擎驗證表單,但我有一個問題.... 我有一個窗體在div div爲標籤和我設置validationEngine這樣的:jQuery驗證引擎錯誤的位置彈出隱藏字段(jQuery的選項卡)

$(".test").validationEngine({validateNonVisibleFields: true}); 

在這兩對在非活動的活動標籤....但在非活動標籤字段的彈出錯誤領域提交的作品罰款不與相應的字段對齊。

的_calculatePosition功能似乎忽視了現場隱患,檢查......

任何建議,真正的座標?

由於多

回答

1

我已經解決了使用validationEngine updatePromptsPosition方法爲每個標籤......像這樣的事情同樣的問題:

$(".tabs-1").click(function(){ 
    $form.find('form').validationEngine('updatePromptsPosition'); 
}); 
1

,這個問題沒有正確回答的事實但考慮到解決方案的簡單性,坦率地說它有點愚蠢。簡單(而且文明)的方式是在用戶每次切換選項卡時調用驗證,爲此,只需簡單設置您的選項卡即可:

如果您有以下跨多個選項卡的表單...

<form id="myForm" action=""> 
<div id="tabs"> 
    <ul> 
     <li><a href="#tabs-1">Tab 1</a> 

     </li> 
     <li><a href="#tabs-2">Tab 2</a> 

     </li> 
     <li><a href="#tabs-3">Tab 3</a> 

     </li> 
    </ul> 
    <div id="tabs-1"> 
     <input type="text" id="requiredFiled" name="requiredField" class="validate[required]" /> 
    </div> 
    <div id="tabs-2"></div> 
    <div id="tabs-3"></div> 
</div> 

然後你建立這樣的形式和標籤:

jQuery("#myForm").validationEngine('attach', { 
    promptPosition: "bottomLeft", 
    validationEventTrigger: "submit", 
    validateNonVisibleFields: true, 
    updatePromptsPosition: true 
}); 

$(function() { 
    $("#tabs").tabs({ 
     beforeActivate: function (event, ui) { 
      if (!$("#myForm").validationEngine('validate')) { 
       event.preventDefault(); 
       $('#myForm').validationEngine('hide'); 
       setTimeout(function() { 
        $("#myForm").validationEngine('validate'); 
       }, 450); 
      } 
     } 
    }); 
}); 

的結果是,如果該選項卡中的用戶爲c用戶不能選擇其他選項卡urrently不完全有效。這裏是JSFiddle演示:http://jsfiddle.net/g9yLL/36/

乾杯! :-)