Skip to content

Commit 2d26957

Browse files
committed
redo validators
1 parent 6f65e4d commit 2d26957

File tree

4 files changed

+16
-60
lines changed

4 files changed

+16
-60
lines changed

packages/components/src/internal/hooks/useValidatorManager.ts

Lines changed: 0 additions & 13 deletions
This file was deleted.
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import BaseValidator from '../../validators/BaseValidator';
2+
3+
export interface ValidateReturnType {
4+
isValid: boolean;
5+
messages: string[];
6+
}
7+
8+
export const validateInput = <T>(value: T, validators: BaseValidator<T>[]): ValidateReturnType => {
9+
const errors = validators
10+
.filter((validator: BaseValidator<T>) => !validator.validate(value))
11+
.map((validator: BaseValidator<T>) => validator.getErrorMessage());
12+
13+
return { isValid: !errors.length, messages: errors };
14+
};

packages/components/src/validators/BaseValidator.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
import { TranslatorType } from '@ids-context/Translator';
22

3-
// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-parameters
43
export default abstract class BaseValidator<T> {
5-
protected _translator!: TranslatorType;
4+
protected _translator: TranslatorType;
65

7-
setTranslator(translator: TranslatorType) {
6+
constructor(translator: TranslatorType) {
87
this._translator = translator;
98
}
109

packages/components/src/validators/ValidatorManager.ts

Lines changed: 0 additions & 44 deletions
This file was deleted.

0 commit comments

Comments
 (0)