如果文本框输入值发生变化,请验证字段....但如果... Javascript
If text box input value changes, validate the field.... but if... Javascript
我正在尝试使用 formvalidation.io 中的 formvalidator 验证一些字段,但 运行 使用它时遇到了一些问题。我需要查明文本框(日期、电话、电子邮件)是否有值(用户填写了文本框)并验证该字段。但如果用户没有填写文本框,则不验证该字段。用户可能会开始填写文本框,然后删除其内容,如果他们这样做,则不应验证该字段。谁能帮我解决这个问题?
我已经尝试了一些不同的技术,例如 addEventListener 等,但我还没有完全理解我需要它的方式。
这是我目前拥有的示例。
$("#Q_dob_text").change(function () {
var dob = document.getElementById('Q_dob_text').value;
if (dob !== '') {
$('#registry').formValidation({
framework: 'bootstrap',
icon: {
valid: 'glyphicon glyphicon-ok',
invalid: 'glyphicon glyphicon-remove',
validating: 'glyphicon glyphicon-refresh'
},
fields: {
dob: {
validators: {
date: {
format: 'MM/DD/YYYY',
message: 'The value is not a valid date'
}
}
}
}
});
}
});
我也试过这个的变体...
document.getElementById('Q_date_text').addEventListener("keydown", dateFx);
function dateFx() {
var date = document.getElementById('Q_date_text');
if (date !== '') {
$('#registry').formValidation({
framework: 'bootstrap',
icon: {
valid: 'glyphicon glyphicon-ok',
invalid: 'glyphicon glyphicon-remove',
validating: 'glyphicon glyphicon-refresh'
},
fields: {
date: {
validators: {
date: {
format: 'MM/DD/YYYY',
message: 'The value is not a valid date'
}
}
}
}
});
}
}
非常感谢任何帮助!
出问题的是 .formValidation
调用初始化(绑定)插件以始终验证,因此一旦您 运行 该代码一次,它将始终保持工作(即使尽管用户删除了输入的文本)。
你真正想要做的是初始化它一次,并更新它的验证设置(在 validators
设置中)使其不验证 dob
(来自你的第一个例子)如果它是空的。您可以通过调用 "updateOption" 或 "removeField" 来实现,请参阅 documentation.
我正在尝试使用 formvalidation.io 中的 formvalidator 验证一些字段,但 运行 使用它时遇到了一些问题。我需要查明文本框(日期、电话、电子邮件)是否有值(用户填写了文本框)并验证该字段。但如果用户没有填写文本框,则不验证该字段。用户可能会开始填写文本框,然后删除其内容,如果他们这样做,则不应验证该字段。谁能帮我解决这个问题?
我已经尝试了一些不同的技术,例如 addEventListener 等,但我还没有完全理解我需要它的方式。
这是我目前拥有的示例。
$("#Q_dob_text").change(function () {
var dob = document.getElementById('Q_dob_text').value;
if (dob !== '') {
$('#registry').formValidation({
framework: 'bootstrap',
icon: {
valid: 'glyphicon glyphicon-ok',
invalid: 'glyphicon glyphicon-remove',
validating: 'glyphicon glyphicon-refresh'
},
fields: {
dob: {
validators: {
date: {
format: 'MM/DD/YYYY',
message: 'The value is not a valid date'
}
}
}
}
});
}
});
我也试过这个的变体...
document.getElementById('Q_date_text').addEventListener("keydown", dateFx);
function dateFx() {
var date = document.getElementById('Q_date_text');
if (date !== '') {
$('#registry').formValidation({
framework: 'bootstrap',
icon: {
valid: 'glyphicon glyphicon-ok',
invalid: 'glyphicon glyphicon-remove',
validating: 'glyphicon glyphicon-refresh'
},
fields: {
date: {
validators: {
date: {
format: 'MM/DD/YYYY',
message: 'The value is not a valid date'
}
}
}
}
});
}
}
非常感谢任何帮助!
出问题的是 .formValidation
调用初始化(绑定)插件以始终验证,因此一旦您 运行 该代码一次,它将始终保持工作(即使尽管用户删除了输入的文本)。
你真正想要做的是初始化它一次,并更新它的验证设置(在 validators
设置中)使其不验证 dob
(来自你的第一个例子)如果它是空的。您可以通过调用 "updateOption" 或 "removeField" 来实现,请参阅 documentation.