簡體   English   中英

jQuery Tools Validator:不是必需的,但測試是否為空

[英]jQuery Tools Validator: not required, but test if not empty

我正在使用jQuery Tools中的Validator來驗證我的表單(為什么jquery工具?因為它們是輕量級的並且使用語義HTML5標簽,輸入類型和參數進行驗證)但我有一個問題:我想讓jQuery Tools Validator測試/僅在輸入字段不為空時驗證輸入字段 - 但不需要該字段。

在必須進行測試/驗證的字段上,我可以使用required="required"並驗證...現在我有一個文本輸入字段,用戶可以輸入URL,這個字段不是必需的但是如果用戶添加了一些數據進入該字段,該字段應使用pattern="https?://.+"進行驗證,以確保用戶輸入有效的URL ...如果我添加了pattern-parameter且沒有必需參數,jQuery Tools Validator確實測試/驗證了,在我輸入有效的URL之前我無法提交表單 - 即使我根本不想輸入URL!

您可以嘗試修改正則表達式以允許空字符串,例如

pattern="^(?:|https?://.+)$"

你是否有任何理由與jquery工具驗證器綁定? 我取得了巨大的成功: http//bassistance.de/jquery-plugins/jquery-plugin-validation/

例如,我添加了一個自定義jQuery驗證器字段:

jQuery.validator.addMethod("unittype", function(value, element) { 
    return jQuery('#fuel option:selected').val() in unitOptions && value in unitOptions[jQuery('#fuel option:selected').val()];
});

jQuery('#fuel').rules("add", {
    fueltype:true,
    messages:{
        fueltype:"Please select a fuel type"    
    }
});

這只是我的代碼中的一個例子,只是將正則表達式替換為方法。

如果您將表單字段指定為

<input type='url'/>

那么jQuery Tools Validator將需要一個有效的url - 你不需要滾動自己的url正則表達式。

如果你沒有標記所需的字段,那么驗證器應該只檢查字段是非空的; 如果我理解正確的話,那就是你(OP)想要的行為。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM