2012-05-09 28 views
3

使用jQuery驗證: http://docs.jquery.com/Plugins/ValidationjQuery驗證 - 驗證特定規則/按鍵時方法的具體領域

我還驗證每個字段上模糊:

//validate each element on blur 
    $('input, select, radio, checkbox').blur(function(){ 
     $("#createAccount").validate().element(this); 
    }); 

我加入另外的方法爲密碼 - 字母,數字,不能有空格/破折號:

//Additional validation methods: 
jQuery.validator.addMethod("passwordCheck", function(value, element) { 
    return this.optional(element) || /^[a-zA-Z0-9]+$/.test(value); 
}, "Invalid characters"); 

幾個問題:

我想驗證模糊密碼字段,除了passwordCheck方法。所以其他的方法,如需要,應該對模糊進行驗證 - 但是如果輸入的是無效字符,那麼我希望驗證程序能夠觸發該方法。

此外,添加方法時,有沒有辦法將錯誤消息放入驗證調用的消息部分(只是爲了將它們全部放在一個地方)?

+1

我不知道我理解你的第二個問題,但這裏是我們收集錯誤消息的方法:function postMessage(jq,msg){jq.before(''+ msg +'');}其中jq是頁面上狀態區域的jQuery。你可以多次調用postMessage()。清理,jq.find('。validationError')。remove(); –

回答

1

這是我做過什麼來實現:

對於需要被忽略,直到它有我添加了一個類的輸入值的輸入 - 「忽略」

$('.ignore').blur(function(){ 
     if($(this).val()=="") { 
     $(this).parent().removeClass("inputSuccess"); 
     } 
    }); 

在這個函數中,如果一個輸入的類被忽略並且沒有值被輸入,那麼我刪除在validate調用中設置的有效類。當輸入一個值時,正常的驗證會觸發這些項目。