gpt4 book ai didi

javascript - 指定某些页面中特定表单的验证

转载 作者:行者123 更新时间:2023-11-27 22:46:06 25 4
gpt4 key购买 nike

我有一个 JavaScript 函数,可以在提交之前验证弹出表单。不幸的是,它的创建目的只是为了每页处理一个弹出表单。
就我而言,我有两种不同的弹出表单,因此我想指定要做什么以及针对哪一个。

$.fn.goValidate = function() {
var $form = this,
$inputs = $form.find('input:text');

var validators = {
email: {
regex: /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/
}
};
var validate = function(klass, value) {
var isValid = true,
error = '';

if (!value && /required/.test(klass)) {
error = 'This field is required';
isValid = false;
} else {
klass = klass.split(/\s/);
$.each(klass, function(i, k){
if (validators[k]) {
if (value && !validators[k].regex.test(value)) {
isValid = false;
error = validators[k].error;
}
}
});
}
return {
isValid: isValid,
error: error
}
};
var showError = function($input) {
var klass = $input.attr('class'),
value = $input.val(),
test = validate(klass, value);

$input.removeClass('invalid');
$('#form-error').addClass('hide');

if (!test.isValid) {
$input.addClass('invalid');

if(typeof $input.data("shown") == "undefined" || $input.data("shown") == false){
$input.popover('show');
}

}
else {
$input.popover('hide');
}
};

$inputs.keyup(function() {
showError($(this));
});

$inputs.on('shown.bs.popover', function () {
$(this).data("shown",true);
});

$inputs.on('hidden.bs.popover', function () {
$(this).data("shown",false);
});

$form.submit(function(e) {

$inputs.each(function() {
if ($(this).is('.required') || $(this).hasClass('invalid')) {
showError($(this));
}
});
if ($form.find('input.invalid').length) {
e.preventDefault();
$('#form-error').toggleClass('hide');
}
});
return this;
};
$('form').goValidate();

我很确定这一切都与这一行有关:

$('form').goValidate();  

假设第一个表单 id 是 form_1,第二个表单 id 是 form_2。我应该在这一行放什么?我猜是这样的:

 $('form['form_1]').goValidate(); 

希望说得清楚,谢谢!

最佳答案

您可以使用表单 id 来定位您的表单。

例如。如果你的第一个表单有 id form1 那么你可以写。

$('#form1').goValidate();

与第二个相同。

关于javascript - 指定某些页面中特定表单的验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38408644/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com