Added support for regex validation

This commit is contained in:
Giuseppe Digilio
2018-07-06 14:20:09 +02:00
parent 7315337c64
commit ccb50f69d6
7 changed files with 33 additions and 11 deletions

View File

@@ -194,6 +194,11 @@ export abstract class FieldParser {
this.markAsRequired(controlModel);
}
if (this.hasRegex()) {
console.log(this.configData.input.regex);
this.addPatternValidator(controlModel);
}
// Available Languages
if (this.configData.languageCodes && this.configData.languageCodes.length > 0) {
(controlModel as DsDynamicInputModel).languageCodes = this.configData.languageCodes;
@@ -202,6 +207,20 @@ export abstract class FieldParser {
return controlModel;
}
protected hasRegex() {
return hasValue(this.configData.input.regex);
}
protected addPatternValidator(controlModel) {
const regex = new RegExp(this.configData.input.regex);
controlModel.validators = Object.assign({}, controlModel.validators, {pattern: regex});
controlModel.errorMessages = Object.assign(
{},
controlModel.errorMessages,
{pattern: 'form.error.validation.pattern', regex: 'form.error.validation.pattern'});
}
protected markAsRequired(controlModel) {
controlModel.required = true;
controlModel.validators = Object.assign({}, controlModel.validators, {required: null});