diff --git a/javascript/src/Form.js b/javascript/src/Form.js index f0ceb013a9f2c50353ff954358dbf2ffc250bd40..640f7afa48d1a017a79884232fdce412e78f0834 100644 --- a/javascript/src/Form.js +++ b/javascript/src/Form.js @@ -118,12 +118,20 @@ var QfqNS = QfqNS || {}; */ n.Form.prototype.validate = function () { this.eventEmitter.emitEvent('form.validation.before', n.EventEmitter.makePayload(this, null)); + var isValid; + var form = document.forms[this.formId]; + var $form = $(form); + + if ($form.data('bs.validator')) { + $form.validator('validate'); + isValid = !$form.data('bs.validator').hasErrors(); + } else { + isValid = form.checkValidity(); + } - var result = document.forms[this.formId].checkValidity(); - - this.eventEmitter.emitEvent('form.validation.after', n.EventEmitter.makePayload(this, {validationResult: result})); + this.eventEmitter.emitEvent('form.validation.after', n.EventEmitter.makePayload(this, {validationResult: isValid})); - return result; + return isValid; }; /**