mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
#726 regex validators
This commit is contained in:
@@ -188,3 +188,29 @@ export class MaxValueFieldValidator implements FormFieldValidator {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
export class RegExFieldValidator implements FormFieldValidator {
|
||||
|
||||
private supportedTypes = [
|
||||
FormFieldTypes.TEXT,
|
||||
FormFieldTypes.MULTILINE_TEXT
|
||||
];
|
||||
|
||||
isSupported(field: FormFieldModel): boolean {
|
||||
return field &&
|
||||
this.supportedTypes.indexOf(field.type) > -1 &&
|
||||
!!field.regexPattern;
|
||||
}
|
||||
|
||||
validate(field: FormFieldModel): boolean {
|
||||
if (this.isSupported(field) && field.value) {
|
||||
if (field.value.length > 0 && field.value.match(new RegExp('^' + field.regexPattern + '$'))) {
|
||||
return true;
|
||||
}
|
||||
field.validationSummary = 'Invalid value format';
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -28,7 +28,8 @@ import {
|
||||
MinLengthFieldValidator,
|
||||
MaxLengthFieldValidator,
|
||||
MinValueFieldValidator,
|
||||
MaxValueFieldValidator
|
||||
MaxValueFieldValidator,
|
||||
RegExFieldValidator
|
||||
} from './form-field-validator';
|
||||
|
||||
|
||||
@@ -147,7 +148,8 @@ export class FormFieldModel extends FormWidgetModel {
|
||||
new MinLengthFieldValidator(),
|
||||
new MaxLengthFieldValidator(),
|
||||
new MinValueFieldValidator(),
|
||||
new MaxValueFieldValidator()
|
||||
new MaxValueFieldValidator(),
|
||||
new RegExFieldValidator()
|
||||
];
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user