From d98fa5089585dd1053a73771fe4f839abc5748a9 Mon Sep 17 00:00:00 2001 From: David Higgins Date: Fri, 21 Dec 2018 11:59:56 -0500 Subject: [PATCH] added optional field property `debounceValidateTime` which works at the field level, allowing individual fields to be debounced as opposed to the entire schema. works the same as `formOptions.debounceValidateTime` --- src/fields/abstractField.js | 6 +++--- src/formGenerator.vue | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/fields/abstractField.js b/src/fields/abstractField.js index b3ca671b..0b620d26 100644 --- a/src/fields/abstractField.js +++ b/src/fields/abstractField.js @@ -139,7 +139,7 @@ export default { if (!isFunction(this.debouncedValidateFunc)) { this.debouncedValidateFunc = debounce( this.validate.bind(this), - objGet(this, "$parent.options.validateDebounceTime", 500) + objGet(this.schema, 'validateDebounceTime', objGet(this.formOptions, 'validateDebounceTime', 500)) ); } this.debouncedValidateFunc(); @@ -162,8 +162,8 @@ export default { this.schema.onChanged.call(this, this.model, newValue, oldValue, this.schema); } - if (objGet(this.$parent, "options.validateAfterChanged", false) === true) { - if (objGet(this.$parent, "options.validateDebounceTime", 0) > 0) { + if (objGet(this.formOptions, "validateAfterChanged", false) === true) { + if (objGet(this.schema, 'validateDebounceTime', objGet(this.formOptions, 'validateDebounceTime', 0)) > 0) { this.debouncedValidate(); } else { this.validate(); diff --git a/src/formGenerator.vue b/src/formGenerator.vue index aa10fffc..3d16b386 100644 --- a/src/formGenerator.vue +++ b/src/formGenerator.vue @@ -30,8 +30,9 @@ export default { default() { return { validateAfterLoad: false, - validateAsync: false, validateAfterChanged: false, + fieldIdPrefix: '', + validateAsync: false, validationErrorClass: "error", validationSuccessClass: "" };