mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 10:04:11 +00:00
Added support for regex validation
This commit is contained in:
@@ -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});
|
||||
|
Reference in New Issue
Block a user