對於下面的代碼,jQuery.validator.addMethod和所需VS可選
jQuery.validator.addMethod
(
"exactlength",
function(value, element, param)
{
return this.optional(element) || value.length == param;
},
jQuery.format("Please enter exactly {0} characters.")
);
我明白
value
指輸入字段值element
指輸入字段本身param
是指該規則 屬性值
value.length == param
指的是實際驗證
,但我不明白爲什麼this.optional(element) ||
已經包含了所需的字段。我見過的大多數例子都是addMethod
,似乎有這部分條款。但爲什麼它是強制性的,即使對於required
的田地也是如此。
其次,假設我想電子郵件驗證,我想補充一些像
email:
{
required: true,
email: true,
},
我還要補充以下,
jQuery.validator.addMethod
(
"minLengthID",
function(value, element, param)
{
return this.optional(element) || value.length >= param;
},
jQuery.format("Please enter more than {0} characters.")
);
jQuery.validator.addMethod
(
"maxLengthID",
function(value, element, param)
{
return this.optional(element) || value.length <= param;
},
jQuery.format("Please enter less than {0} characters.")
);
,但我不明白爲什麼this.optional(element) ||
是必要的這裏。我會很感激任何方向。
謝謝你的Sparky。尼斯解釋說,但我如何確保'@'之前的電子郵件ID在最小和最大限度之間? – Grateful 2014-09-28 09:30:20
@高興,沒有提供標準的方法,只檢查'@'之前的部分電子郵件地址。你需要編寫一個自定義的方法,在檢查任何長度之前,將「value」分開,但這不是你在你的OP中所要求的,它被命名爲「...... required和optional」。 – Sparky 2014-09-28 15:52:32
好的,我很感謝你的回答。另外,我意識到上述問題更多地是針對原始問題的後續工作......這是否違反了計算器規則? 也許我需要問這個「第二次後續」作爲一個單獨的問題以及:) – Grateful 2014-09-28 16:36:25