ido
unknown
plain_text
a year ago
1.4 kB
3
Indexable
Never
//this is the class export class Post { @MinLength(2) @MaxLength(15) @IsString() @IsNotEmpty() title?: string; @Min(1) // @Max(10) @IsInt() amount!: number; isValid!: boolean validate() { // if(Array.isArray(input)){ // [this.title, this.amount] = <[string,number]>input.gatherUserInput(); // } const val = validate(this).then((errors) => { // errors is an array of validation errors if (errors.length > 0) { console.log("validation failed. errors: ", errors); console.log(typeof errors[0].constraints); alertAllErrors(errors); this.isValid = false; } else{ console.log("validation succeed"); this.isValid = true; } }); //alert function for showing errors infront function alertAllErrors(errors: ValidationError[]) { // errors is an array of validation errors // has property object 'constraints' which has the error description messages errors.forEach((element) => { if (element.constraints) { for (const value of Object.values(element.constraints)) { alert(value); } } }); } validateOrReject(this).catch((errors) => { console.log("Promise rejected (validation failed). Errors: ", errors); }); return this.isValid; }