2012-06-01 55 views
0

我在一個頁面上有多個DIV,其中包含表單fields.Some是必需的,有些不是。當用戶通過輸入數據從一個div跳轉到另一個div。我必須驗證所需的字段是滿意和改變完成的DIV的CSS。如果不符合要求的字段,我不應該改變CSS效果。我想用JQuery來處理這個問題。所以,有人可以提供一個好的和乾淨的設計來接近。jquery驗證和CSS

感謝

+0

請提供的jsfiddle,所以我們可以看到代碼。 – roflmao

回答

1

您可以使用jQuery validator 插件來驗證您的內容。

一旦你的div失去焦點,你可以檢查驗證是否已通過,如果不是,那麼不應用CSS或其他應用CSS。

示例代碼:

$("#divid").validate({ 
    onfocusout: false, //once div looses focus validate 
    rules: { 
     //your rules go here 
    } 
}); 
+0

感謝您的信息。我還沒有開始編碼。我想在理解我的頭腦之前先理解一個問題。一個問題在這裏,因爲我在頁面上有多個表單域,我如何區分必需和可選域。我是否對照文件檢查字段或分配屬性(req)。感謝J Validator。 – user874722

+0

到元素你會添加一個叫作所需的類 – mprabhat

+0

這些字段是必需的僅對那些字段添加class =「required」,因此保留其他可選字段 – mprabhat

0

使用,你可以創建自己的方法來驗證一組控件jQuery驗證,我用這個方法來包裝一個div或字段集與類名「的ValidationGroup」元素。然後,當我從組內觸發一個事件時,我將DOM向上導航到具有類名的父元素,並驗證下面的所有內容。使用這種方法,您可以控制/限制正在編輯的當前div中的控件的驗證。

函數ValidateAndSubmit(evt) var isValid = true;

// Get Validator & Settings 
var validator = $("#aspnetForm").validate(); 
var settings = validator.settings; 

// Find the parent control that contains the elements to be validated 
var $group = $(evt.currentTarget).parents('.validationGroup'); 

// Grab all the input elements (minus items listed below) 
$group 
    .find(":input") 
    .not(":submit, :reset, :image, [disabled]") 
    .not(settings.ignore) 
    .each(function (i, item) 
    { 
     // Don't validate items without rules 
     if (!validator.objectLength($(item).rules())) 
      return true; 

     if (!$(item).valid()) 
      isValid = false; 
    }); 

// If any control is the group fails, prevent default actions (aka: Submit) 
if (!isValid) { 
    evt.preventDefault(); 
} 

return isValid; 

}