Adding data-bv-trigger=“null” make bootstrapvalidator works only one time
up vote
0
down vote
favorite
I'm using bootstrap validator callback to valid a field. I also want to fire the bootstrap validator only on a button click. So I binds the button with bootstrap validator using
$(document).ready(function () {
$('#mybtn').click(function () {
$('#formId').bootstrapValidator('validate');
});
});
But the problem is that the validator fires only the first time and then if the validation is false it shows the error messages and then if doesn't gets fired again with that button click. And if true then the corresponding functionality working.
here is my html
<form id="formId">
<input type="text" name="Iname" data-bv-trigger='null'/>
</form>
here is my validator
$('#formId').bootstrapValidator({
fields: {
Iname: {
validators: {
callback: {
callback: function (value, validator, $field) {
if(!isValidData(value)) {
return {
valid: false,
message: "invalid message"
};
}
else {
return { valid: true };
}
}
}
}
}
}
}).on('success.form.bv', function (e) {
e.preventDefault();
//Do corresponding operation
});
I only want to fire the bootstrapValidator only at button click. If i omit the data-bv-trigger attribute the validator fires on keypress of that particular field but everything works fine.
Initially i though that it unbinds my click event. but I was wrong. It actually fires the bootstrap validator but the validation is not working.
jquery bootstrapvalidator
add a comment |
up vote
0
down vote
favorite
I'm using bootstrap validator callback to valid a field. I also want to fire the bootstrap validator only on a button click. So I binds the button with bootstrap validator using
$(document).ready(function () {
$('#mybtn').click(function () {
$('#formId').bootstrapValidator('validate');
});
});
But the problem is that the validator fires only the first time and then if the validation is false it shows the error messages and then if doesn't gets fired again with that button click. And if true then the corresponding functionality working.
here is my html
<form id="formId">
<input type="text" name="Iname" data-bv-trigger='null'/>
</form>
here is my validator
$('#formId').bootstrapValidator({
fields: {
Iname: {
validators: {
callback: {
callback: function (value, validator, $field) {
if(!isValidData(value)) {
return {
valid: false,
message: "invalid message"
};
}
else {
return { valid: true };
}
}
}
}
}
}
}).on('success.form.bv', function (e) {
e.preventDefault();
//Do corresponding operation
});
I only want to fire the bootstrapValidator only at button click. If i omit the data-bv-trigger attribute the validator fires on keypress of that particular field but everything works fine.
Initially i though that it unbinds my click event. but I was wrong. It actually fires the bootstrap validator but the validation is not working.
jquery bootstrapvalidator
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I'm using bootstrap validator callback to valid a field. I also want to fire the bootstrap validator only on a button click. So I binds the button with bootstrap validator using
$(document).ready(function () {
$('#mybtn').click(function () {
$('#formId').bootstrapValidator('validate');
});
});
But the problem is that the validator fires only the first time and then if the validation is false it shows the error messages and then if doesn't gets fired again with that button click. And if true then the corresponding functionality working.
here is my html
<form id="formId">
<input type="text" name="Iname" data-bv-trigger='null'/>
</form>
here is my validator
$('#formId').bootstrapValidator({
fields: {
Iname: {
validators: {
callback: {
callback: function (value, validator, $field) {
if(!isValidData(value)) {
return {
valid: false,
message: "invalid message"
};
}
else {
return { valid: true };
}
}
}
}
}
}
}).on('success.form.bv', function (e) {
e.preventDefault();
//Do corresponding operation
});
I only want to fire the bootstrapValidator only at button click. If i omit the data-bv-trigger attribute the validator fires on keypress of that particular field but everything works fine.
Initially i though that it unbinds my click event. but I was wrong. It actually fires the bootstrap validator but the validation is not working.
jquery bootstrapvalidator
I'm using bootstrap validator callback to valid a field. I also want to fire the bootstrap validator only on a button click. So I binds the button with bootstrap validator using
$(document).ready(function () {
$('#mybtn').click(function () {
$('#formId').bootstrapValidator('validate');
});
});
But the problem is that the validator fires only the first time and then if the validation is false it shows the error messages and then if doesn't gets fired again with that button click. And if true then the corresponding functionality working.
here is my html
<form id="formId">
<input type="text" name="Iname" data-bv-trigger='null'/>
</form>
here is my validator
$('#formId').bootstrapValidator({
fields: {
Iname: {
validators: {
callback: {
callback: function (value, validator, $field) {
if(!isValidData(value)) {
return {
valid: false,
message: "invalid message"
};
}
else {
return { valid: true };
}
}
}
}
}
}
}).on('success.form.bv', function (e) {
e.preventDefault();
//Do corresponding operation
});
I only want to fire the bootstrapValidator only at button click. If i omit the data-bv-trigger attribute the validator fires on keypress of that particular field but everything works fine.
Initially i though that it unbinds my click event. but I was wrong. It actually fires the bootstrap validator but the validation is not working.
jquery bootstrapvalidator
jquery bootstrapvalidator
edited Nov 17 at 17:17
asked Nov 17 at 14:59
Subhashis Pal
95
95
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
up vote
0
down vote
accepted
I've solved my requirement. After done a investigation by debugging bootstrapValidator.js I found that, after validating a element bootstrap keep a mark on that element by adding data attribute(Don't know in details about where it store the attr or what value stored) which only resets on a event which we actually input using data-bv-trigger attribute. By default it resets that attr on key press event of that element. At the same time it also validate the fields and shows error if any.
But if we set data-bv-trigger="null", after one validation the data attr never resets. So any further validation on that element never happened.
To resolve the problem if get that if bind my button click with revalidateField then it will force validate the filed. here is the syntax
$(document).ready(function () {
$('#mybtn').click(function () {
$('#formId').bootstrapValidator('revalidateField', $(element));
});
});
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
0
down vote
accepted
I've solved my requirement. After done a investigation by debugging bootstrapValidator.js I found that, after validating a element bootstrap keep a mark on that element by adding data attribute(Don't know in details about where it store the attr or what value stored) which only resets on a event which we actually input using data-bv-trigger attribute. By default it resets that attr on key press event of that element. At the same time it also validate the fields and shows error if any.
But if we set data-bv-trigger="null", after one validation the data attr never resets. So any further validation on that element never happened.
To resolve the problem if get that if bind my button click with revalidateField then it will force validate the filed. here is the syntax
$(document).ready(function () {
$('#mybtn').click(function () {
$('#formId').bootstrapValidator('revalidateField', $(element));
});
});
add a comment |
up vote
0
down vote
accepted
I've solved my requirement. After done a investigation by debugging bootstrapValidator.js I found that, after validating a element bootstrap keep a mark on that element by adding data attribute(Don't know in details about where it store the attr or what value stored) which only resets on a event which we actually input using data-bv-trigger attribute. By default it resets that attr on key press event of that element. At the same time it also validate the fields and shows error if any.
But if we set data-bv-trigger="null", after one validation the data attr never resets. So any further validation on that element never happened.
To resolve the problem if get that if bind my button click with revalidateField then it will force validate the filed. here is the syntax
$(document).ready(function () {
$('#mybtn').click(function () {
$('#formId').bootstrapValidator('revalidateField', $(element));
});
});
add a comment |
up vote
0
down vote
accepted
up vote
0
down vote
accepted
I've solved my requirement. After done a investigation by debugging bootstrapValidator.js I found that, after validating a element bootstrap keep a mark on that element by adding data attribute(Don't know in details about where it store the attr or what value stored) which only resets on a event which we actually input using data-bv-trigger attribute. By default it resets that attr on key press event of that element. At the same time it also validate the fields and shows error if any.
But if we set data-bv-trigger="null", after one validation the data attr never resets. So any further validation on that element never happened.
To resolve the problem if get that if bind my button click with revalidateField then it will force validate the filed. here is the syntax
$(document).ready(function () {
$('#mybtn').click(function () {
$('#formId').bootstrapValidator('revalidateField', $(element));
});
});
I've solved my requirement. After done a investigation by debugging bootstrapValidator.js I found that, after validating a element bootstrap keep a mark on that element by adding data attribute(Don't know in details about where it store the attr or what value stored) which only resets on a event which we actually input using data-bv-trigger attribute. By default it resets that attr on key press event of that element. At the same time it also validate the fields and shows error if any.
But if we set data-bv-trigger="null", after one validation the data attr never resets. So any further validation on that element never happened.
To resolve the problem if get that if bind my button click with revalidateField then it will force validate the filed. here is the syntax
$(document).ready(function () {
$('#mybtn').click(function () {
$('#formId').bootstrapValidator('revalidateField', $(element));
});
});
answered Nov 19 at 10:08
Subhashis Pal
95
95
add a comment |
add a comment |
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53352406%2fadding-data-bv-trigger-null-make-bootstrapvalidator-works-only-one-time%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown