仅当输入不为空时,我才需要能够验证输入字段是否具有格式正确的 URL。我正在检查输入的值是否不为空,如果是,则验证它是否是一个 URL。然而,这似乎奇怪地破坏了我的代码并且没有验证。
rules: {
domain: {
required: true
},
playerClass: {
required: true,
},
if (adTag.value !== '') {
url: true
}
},
完整示例:JSFIDDLE
最佳答案
你正在破坏插件,因为你不能在对象文字中放置条件语句......
rules: { // <- this is part of an object literal, NOT a function
domain: {
required: true
},
playerClass: {
required: true,
},
if (adTag.value !== '') { // <- no good! conditional is outside of a function
url: true
}
},
条件语句只能进入函数内部。
rules
选项仅采用以逗号分隔的 key:value
对列表,这些对表示字段 name
,其中 value
是它的规则。 然后您可以使用函数来构造规则的参数。
你可以做这样的事情......
rules: {
domain: {
required: true
},
playerClass: {
required: true,
},
adTag: {
url: function() {
// conditional statement to return true or false
}
}
},
<小时/>
I need to be able to validate an input field ... only if the input is not blank.
如果不使用required
规则,这已经是默认行为!
rules: {
domain: {
required: true
},
playerClass: {
required: true,
},
adTag: {
url: true // only gets evaluated when the field is not empty
}
},
关于javascript - 使用 jQuery 验证插件对输入进行条件 url 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30578847/