2012-02-22 75 views
1

我一直在尋找一個體面的jQuery驗證方法。我發現這個jsFiddle That does something similarjquery驗證所需時間

但我需要我的AM \ PM驗證,也不是表單提交所需的字段。如果我能在布魯爾工作,那麼這將會很棒。

一個例子可接受的時間將是

12:00 AM 

雖然是不可接受的字符串的無限例子,這只是其中

24:00 

之一現在,我想想,我想如果格式無效,這件事不要提交,但如果沒有輸入時間,我不希望驗證器觸發。 試過這與jQuery驗證程序,但它不工作。

$().ready(function() { 

$.validator.addMethod("time", function(value, element) { 
return this.optional(element) || /^(([0-1]?[0-2])|([2][0-3])):([0-5]?[0-9])(a|p)m?$/i.test(value); 
}, "Please enter a valid time."); 

    $("#login").validate({ 
      rules: { 
        time: "required time", 
      }, 

    }); 

}); 
+0

你是什麼意思是通過驗證上午/下午意味着什麼。您可以舉出已接受/未接受的值的示例..... – ManseUK 2012-02-22 15:33:11

回答

1

我給你指出了不可或缺的jquery.validator:http://docs.jquery.com/Plugins/Validation。是的,你需要花一點時間才能弄明白,但這是花費的時間。當涉及到通常用於驗證的事情時,有人已經完成了繁重的工作,不需要重新發明輪子,如果你能原諒我過度使用隱喻的話。

編輯:我有關於驗證的意見改變。這可能與原始問題有些相似,但總的來說,我喜歡屏蔽/限制字段以防止80-90%的用戶錯誤,其餘部分可以通過對服務器端FluentValidation的ajax調用進行驗證。這個策略消除了對jquery.validator和(大多數)其他客戶端驗證的需求。在許多情況下,一個可行和可取的方法。 (免責聲明:我與FluentValidation沒有任何關係,除了作爲用戶)

+0

請參閱我剛纔所做的編輯,如果只有當有人試圖輸入輸入時才能讓Jquery Validator驗證,那麼這將非常棒。 – SoftwareSavant 2012-02-22 16:14:30

+0

http://docs.jquery.com/Plugins/Validation/Methods/date此處的示例顯示瞭如何進行所需的輸入和日期。我假設,如果你需要更改:爲false而不是true,它將允許空或有效的日期。 – MrBoJangles 2012-02-22 18:07:42

+0

我認爲OP已經在使用這個插件,他只需要爲它編寫一個自定義的規則/方法。 – Sparky 2013-04-03 15:40:28