Javascript 更新jqbootstrapvalidation匹配以仅在表单提交时验证
如何将jqbootstrapvalidation的匹配更改为仅在表单提交时匹配。与所需字段一样,执行匹配。假设我有一个密码并重新键入密码字段。当我单击密码字段时,在重新键入密码的错误框中显示“匹配验证失败”Javascript 更新jqbootstrapvalidation匹配以仅在表单提交时验证,javascript,jquery,twitter-bootstrap,Javascript,Jquery,Twitter Bootstrap,如何将jqbootstrapvalidation的匹配更改为仅在表单提交时匹配。与所需字段一样,执行匹配。假设我有一个密码并重新键入密码字段。当我单击密码字段时,在重新键入密码的错误框中显示“匹配验证失败” $(function(){$(“input,select,textarea”)。not([type=submit]”。jqBootstrapValidation();});我是通过编辑jqBootstrapValidation.js来实现的。 在validation.validation上
$(function(){$(“input,select,textarea”)。not([type=submit]”。jqBootstrapValidation();});我是通过编辑jqBootstrapValidation.js
来实现的。
在validation.validation
上,params.submiting
确定它是提交
我需要执行一个带有BD访问权限的ajax,所以我创建了一个新的“验证器”(在validatorTypes:ajax\u v2
),带有一个新属性(somenteSubmit
)来指示它只在提交时使用
在js的开头,包括一个新选项:
(function( $ ){
var createdElements = [];
var defaults = {
options: {
somenteSubmit:false,//indicates the validator will happen only in submit
prependExistingHelpBlock: false,
sniffHtml: true, // sniff for 'required', 'maxlength', etc
preventSubmit: true, // stop the form submit event from firing if validation fails
submitError: false, // function called if there is an error when trying to submit
submitSuccess: false, // function called just before a successful submit event is sent to the server
semanticallyStrict: false, // set to true to tidy up generated HTML output
autoAdd: {
helpBlocks: true
},
filter: function () {
// return $(this).is(":visible"); // only validate elements you can see
return true; // validate everything
}
},
在验证中。验证:
// =============================================================
// VALIDATION
// =============================================================
$this.bind(
"validation.validation",
function (event, params) {
var value = getValue($this);
var validar = true;
// Get a list of the errors to apply
var errorsFound = [];
$.each(validators, function (validatorType, validatorTypeArray) {
if (value || value.length || (params && params.includeEmpty) || (!!settings.validatorTypes[validatorType].blockSubmit && params && !!params.submitting)) {
$.each(validatorTypeArray, function (i, validator) {
validar=true;
if ((!(params && params.submitting)) && (settings.validatorTypes[validatorType].somenteSubmit)) {
validar=false;
}
if (validar){
if (settings.validatorTypes[validatorType].validate($this, value, validator)) {
errorsFound.push(validator.message);
}
}
});
}
});
return errorsFound;
}
);
在验证程序类型上
:
ajax_v2: {
name: "ajax_v2",
init: function ($this, name) {
return {
validatorName: name,
url: $this.data("validation" + name + "Ajax_v2"),
lastValue: $this.val(),
lastValid: true,
lastFinished: true
};
},
validate: function ($this, value, validator) {
validator.lastValue = value;
validator.lastValid = true;
validator.lastFinished = false;
var resultado= $.ajax({
url: validator.url+value,
data: ({}),
dataType: "html",
async :false
}).responseText; ;
if (resultado=="true") {
return true;
}else {
return false;
}
},
blockSubmit: true,
somenteSubmit:true //execute this new validator only in submit .
},
JSP:
登录
我通过编辑jqBootstrapvalidation.js
实现了这一点。
在validation.validation
上,params.submiting
确定它是提交
我需要执行一个带有BD访问权限的ajax,所以我创建了一个新的“验证器”(在validatorTypes:ajax\u v2
),带有一个新属性(somenteSubmit
)来指示它只在提交时使用
在js的开头,包括一个新选项:
(function( $ ){
var createdElements = [];
var defaults = {
options: {
somenteSubmit:false,//indicates the validator will happen only in submit
prependExistingHelpBlock: false,
sniffHtml: true, // sniff for 'required', 'maxlength', etc
preventSubmit: true, // stop the form submit event from firing if validation fails
submitError: false, // function called if there is an error when trying to submit
submitSuccess: false, // function called just before a successful submit event is sent to the server
semanticallyStrict: false, // set to true to tidy up generated HTML output
autoAdd: {
helpBlocks: true
},
filter: function () {
// return $(this).is(":visible"); // only validate elements you can see
return true; // validate everything
}
},
在验证中。验证:
// =============================================================
// VALIDATION
// =============================================================
$this.bind(
"validation.validation",
function (event, params) {
var value = getValue($this);
var validar = true;
// Get a list of the errors to apply
var errorsFound = [];
$.each(validators, function (validatorType, validatorTypeArray) {
if (value || value.length || (params && params.includeEmpty) || (!!settings.validatorTypes[validatorType].blockSubmit && params && !!params.submitting)) {
$.each(validatorTypeArray, function (i, validator) {
validar=true;
if ((!(params && params.submitting)) && (settings.validatorTypes[validatorType].somenteSubmit)) {
validar=false;
}
if (validar){
if (settings.validatorTypes[validatorType].validate($this, value, validator)) {
errorsFound.push(validator.message);
}
}
});
}
});
return errorsFound;
}
);
在验证程序类型上
:
ajax_v2: {
name: "ajax_v2",
init: function ($this, name) {
return {
validatorName: name,
url: $this.data("validation" + name + "Ajax_v2"),
lastValue: $this.val(),
lastValid: true,
lastFinished: true
};
},
validate: function ($this, value, validator) {
validator.lastValue = value;
validator.lastValid = true;
validator.lastFinished = false;
var resultado= $.ajax({
url: validator.url+value,
data: ({}),
dataType: "html",
async :false
}).responseText; ;
if (resultado=="true") {
return true;
}else {
return false;
}
},
blockSubmit: true,
somenteSubmit:true //execute this new validator only in submit .
},
JSP:
登录