aboutsummaryrefslogtreecommitdiffstats
path: root/src/angular/form-elements/validation/validators/custom.validator.component.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/angular/form-elements/validation/validators/custom.validator.component.ts')
-rw-r--r--src/angular/form-elements/validation/validators/custom.validator.component.ts23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/angular/form-elements/validation/validators/custom.validator.component.ts b/src/angular/form-elements/validation/validators/custom.validator.component.ts
new file mode 100644
index 0000000..eb09636
--- /dev/null
+++ b/src/angular/form-elements/validation/validators/custom.validator.component.ts
@@ -0,0 +1,23 @@
+import { Input, Component } from "@angular/core";
+import { ValidatorComponent } from "./base.validator.component";
+import { IValidator } from './validator.interface';
+import template from "./base.validator.component.html";
+
+@Component({
+ selector: 'sdc-custom-validator',
+ template: template
+})
+export class CustomValidatorComponent extends ValidatorComponent implements IValidator {
+
+ @Input() public callback: (...args) => boolean;
+
+ constructor() {
+ super();
+ }
+
+ public validate(value: any): boolean {
+ this.isValid = this.callback(value);
+ return this.isValid;
+ }
+
+}