end user mobile-forgot mail

This commit is contained in:
Surendiran 2023-05-15 14:52:51 +05:30
parent 08a9fe2bce
commit d93f5e5d90
15 changed files with 87 additions and 40 deletions

View File

@ -42,7 +42,13 @@ export class AssignServiceComponent implements OnInit {
submit(){ submit(){
console.log(this.form.value) console.log(this.form.value)
// let user_role = localStorage.getItem('user_role');
// let user_id
// if(user_role == 'FRONTDESK'){
// user_id =
// }else{
let user_id = localStorage.getItem('user_id') let user_id = localStorage.getItem('user_id')
// }
let details:any = { let details:any = {
durationNew: this.form.value.duration, durationNew: this.form.value.duration,
fees:this.form.value.fees, fees:this.form.value.fees,

View File

@ -142,6 +142,7 @@ backRoute(param){
redirectToSetting(practitiionerDetails){ redirectToSetting(practitiionerDetails){
console.log(practitiionerDetails) console.log(practitiionerDetails)
localStorage.setItem('user_id',practitiionerDetails.id)
this.frontDeskPractdetails = practitiionerDetails this.frontDeskPractdetails = practitiionerDetails
this.frontDeskHidden = 0 this.frontDeskHidden = 0
this.getUsersList() this.getUsersList()

View File

@ -14,7 +14,7 @@
</mat-toolbar> </mat-toolbar>
<div fxLayout="row wrap" fxLayoutAlign="center center" *ngIf="summary==false"> <div fxLayout="row wrap" fxLayoutAlign="center center" *ngIf="summary==false">
<div class="column" fxFlex.xs="60" fxFlex.sm="60" fxFlex.md="60" fxFlex.lg="60" fxFlex.xl="60" > <div class="column" fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="60" fxFlex.lg="60" fxFlex.xl="60" >
<mat-card class="p-2 radius1 "> <mat-card class="p-2 radius1 ">
<div id="success-frame" class="col-12 border my-auto frame-container" *ngIf="summary==false" > <div id="success-frame" class="col-12 border my-auto frame-container" *ngIf="summary==false" >
<div style=" text-align: center;"> <div style=" text-align: center;">
@ -51,10 +51,11 @@
</div> </div>
<div *ngIf="summary==true"> <div *ngIf="summary==true">
<ng-scrollbar class="scrollHV">
<div fxLayout="row wrap" fxLayoutAlign="center center"> <div fxLayout="row wrap" fxLayoutAlign="center center">
<div class="column" fxFlex.xs="60" fxFlex.sm="60" fxFlex.md="60" fxFlex.lg="60" fxFlex.xl="60" fxLayoutAlign="center center"> <div class="column" fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="60" fxFlex.lg="60" fxFlex.xl="60" fxLayoutAlign="center center">
<mat-card class="p-2 radius">
<mat-card class="p-2 radius">
<div id="table"> <div id="table">
<div style="text-align: center;"><img class="imgLogo" [src]="image_view(logo)" /></div> <div style="text-align: center;"><img class="imgLogo" [src]="image_view(logo)" /></div>
<h6 style="margin-top: 3px;text-align: center;">{{busName}}</h6> <h6 style="margin-top: 3px;text-align: center;">{{busName}}</h6>
@ -137,8 +138,9 @@
<button mat-raised-button (click)="addCalendarEvent()">Add To Google Calander</button> <button mat-raised-button (click)="addCalendarEvent()">Add To Google Calander</button>
</div> </div>
</div> </div>
</mat-card> </mat-card>
</div> </div>
</div> </div>
</ng-scrollbar>
</div> </div>

View File

@ -51,3 +51,7 @@ mat-toolbar{
.mat-toolbar-single-row { .mat-toolbar-single-row {
display: block !important; display: block !important;
} }
.scrollHV {
height: calc(100vh - 110px);
}

View File

@ -22,14 +22,14 @@
<div fxLayout="row wrap"> <div fxLayout="row wrap">
<div fxFlex.xs="50" fxFlex.sm="50" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50" class="p-gap" fxLayoutAlign="center center"> <div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50" class="p-gap" fxLayoutAlign="center center">
<mat-form-field style="width: 80%"> <mat-form-field style="width: 80%">
<input matInput placeholder="Name" type="text" name="cusName" formControlName="cusName" required> <input matInput placeholder="Name" type="text" name="cusName" formControlName="cusName" required>
<mat-error *ngIf="myError('cusName', 'required')">Name is required</mat-error> <mat-error *ngIf="myError('cusName', 'required')">Name is required</mat-error>
<mat-error *ngIf="myError('cusName', 'maxlength')">Limit exceed</mat-error> <mat-error *ngIf="myError('cusName', 'maxlength')">Limit exceed</mat-error>
</mat-form-field> </mat-form-field>
</div> </div>
<div fxFlex.xs="50" fxFlex.sm="50" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50" class="p-gap" fxLayoutAlign="center center"> <div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50" class="p-gap" fxLayoutAlign="center center">
<mat-form-field style="width: 80%"> <mat-form-field style="width: 80%">
<input matInput placeholder="E Mail" type="email" name="email" formControlName="email" required> <input matInput placeholder="E Mail" type="email" name="email" formControlName="email" required>
<mat-error *ngIf="!form.get('email')?.errors?.required && (form.get('email')?.errors?.pattern)"> <mat-error *ngIf="!form.get('email')?.errors?.required && (form.get('email')?.errors?.pattern)">
@ -41,10 +41,10 @@
</mat-error> </mat-error>
</mat-form-field> </mat-form-field>
</div> </div>
<div fxFlex.xs="50" fxFlex.sm="50" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50" class="p-gap"> <div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50" class="p-gap">
<div [ngSwitch]="otpData"> <div [ngSwitch]="otpData">
<div fxLayout="row"> <div fxLayout="row">
<div fxFlex.xs="70" fxFlex.sm="70" fxFlex.md="70" fxFlex.lg="70" fxFlex.xl="70" fxLayoutAlign="center center"> <div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="70" fxFlex.lg="70" fxFlex.xl="70" fxLayoutAlign="center center">
<mat-form-field style="width: 70%"> <mat-form-field style="width: 70%">
<input matInput type="text" appMobileNumberPattern maxlength="10" minlength="10" placeholder="Phone No" name="phone" formControlName="phoneNo" [readonly]="noChangeNo == '1'" required> <input matInput type="text" appMobileNumberPattern maxlength="10" minlength="10" placeholder="Phone No" name="phone" formControlName="phoneNo" [readonly]="noChangeNo == '1'" required>
<mat-error *ngIf="myError('phoneNo', 'required')">Contact No is required</mat-error> <mat-error *ngIf="myError('phoneNo', 'required')">Contact No is required</mat-error>
@ -53,7 +53,7 @@
<mat-error *ngIf="myError('phoneNo', 'maxlength')">Limit exceed</mat-error> <mat-error *ngIf="myError('phoneNo', 'maxlength')">Limit exceed</mat-error>
</mat-form-field> </mat-form-field>
</div> </div>
<div fxFlex.xs="30" fxFlex.sm="30" fxFlex.md="30" fxFlex.lg="30" fxFlex.xl="30" fxLayoutAlign="center center"> <div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="30" fxFlex.lg="30" fxFlex.xl="30" fxLayoutAlign="center center">
<div *ngIf="verifyOTP != '1'"> <div *ngIf="verifyOTP != '1'">
<button mat-raised-button type="button" (click)="getOTP(1)" [disabled]="myError('phoneNo', 'minlength') || myError('phoneNo', 'required')" color="primary" class="mr-1 mb-1">Get OTP</button> <button mat-raised-button type="button" (click)="getOTP(1)" [disabled]="myError('phoneNo', 'minlength') || myError('phoneNo', 'required')" color="primary" class="mr-1 mb-1">Get OTP</button>
</div> </div>
@ -80,28 +80,28 @@
</div> --> </div> -->
</div> </div>
</div> </div>
<div fxFlex.xs="50" fxFlex.sm="50" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50" class="p-gap" fxLayoutAlign="center center"> <div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50" class="p-gap" fxLayoutAlign="center center">
<mat-form-field style="width: 80%"> <mat-form-field style="width: 80%">
<input matInput placeholder="Address" type="text" name="address" formControlName="address_1"> <input matInput placeholder="Address" type="text" name="address" formControlName="address_1">
<mat-error *ngIf="myError('address_1', 'required')">Address is required</mat-error> <mat-error *ngIf="myError('address_1', 'required')">Address is required</mat-error>
<mat-error *ngIf="myError('address_1', 'maxlength')">Limit exceed</mat-error> <mat-error *ngIf="myError('address_1', 'maxlength')">Limit exceed</mat-error>
</mat-form-field> </mat-form-field>
</div> </div>
<div fxFlex.xs="50" fxFlex.sm="50" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50" class="p-gap" fxLayoutAlign="center center"> <div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50" class="p-gap" fxLayoutAlign="center center">
<mat-form-field style="width: 80%" class="mb-1"> <mat-form-field style="width: 80%" class="mb-1">
<input matInput placeholder="State" type="text" name="state" formControlName="state"> <input matInput placeholder="State" type="text" name="state" formControlName="state">
<mat-error *ngIf="myError('state', 'required')">State is required</mat-error> <mat-error *ngIf="myError('state', 'required')">State is required</mat-error>
<mat-error *ngIf="myError('state', 'maxlength')">Limit exceed</mat-error> <mat-error *ngIf="myError('state', 'maxlength')">Limit exceed</mat-error>
</mat-form-field> </mat-form-field>
</div> </div>
<div fxFlex.xs="50" fxFlex.sm="50" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50" class="p-gap" fxLayoutAlign="center center"> <div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50" class="p-gap" fxLayoutAlign="center center">
<mat-form-field style="width: 80%" class="mb-1"> <mat-form-field style="width: 80%" class="mb-1">
<input matInput placeholder="City" type="text" name="city" formControlName="city"> <input matInput placeholder="City" type="text" name="city" formControlName="city">
<mat-error *ngIf="myError('city', 'required')">City is required</mat-error> <mat-error *ngIf="myError('city', 'required')">City is required</mat-error>
<mat-error *ngIf="myError('city', 'maxlength')">Limit exceed</mat-error> <mat-error *ngIf="myError('city', 'maxlength')">Limit exceed</mat-error>
</mat-form-field> </mat-form-field>
</div> </div>
<div fxFlex.xs="50" fxFlex.sm="50" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50" class="p-gap" fxLayoutAlign="center center"> <div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50" class="p-gap" fxLayoutAlign="center center">
<mat-form-field style="width: 80%" class="mb-1"> <mat-form-field style="width: 80%" class="mb-1">
<input matInput placeholder="Pincode" type="text" name="pincode" formControlName="pincode"> <input matInput placeholder="Pincode" type="text" name="pincode" formControlName="pincode">
<mat-error *ngIf="myError('pincode', 'required')">City is required</mat-error> <mat-error *ngIf="myError('pincode', 'required')">City is required</mat-error>
@ -111,7 +111,7 @@
</div> </div>
</div> </div>
<div style="border: 1px solid #ccc;" fxFlex.md="1"></div> <div style="border: 1px solid #ccc;" fxFlex.md="1"></div>
<div fxFlex.xs="50" fxFlex.sm="50" fxFlex.md="35" fxFlex.lg="35" fxFlex.xl="35" class="p-gap"> <div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="35" fxFlex.lg="35" fxFlex.xl="35" class="p-gap">
<div class="card-mat"> <div class="card-mat">
<!-- <p class="param"><img src="assets/images/Location.svg" alt="Avatar" class="img">Business </p> <!-- <p class="param"><img src="assets/images/Location.svg" alt="Avatar" class="img">Business </p>
<span class="span-text">{{busName}}</span> --> <span class="span-text">{{busName}}</span> -->

View File

@ -106,7 +106,7 @@ mat-toolbar{
font-size: 16px; font-size: 16px;
} }
.mt-1 { .mt-1 {
margin-top: 4rem !important; margin-top: 2rem !important;
} }
.base-border:after { .base-border:after {
content: ''; content: '';
@ -142,3 +142,6 @@ mat-toolbar{
margin-left: 2.8rem; margin-left: 2.8rem;
color: #7a7a7a; color: #7a7a7a;
} }
.scrollHV {
height: calc(100vh - 110px);
}

View File

@ -143,7 +143,7 @@ export class CustomerInfoComponent implements OnInit {
openOtp(event) { openOtp(event) {
const dialogRef = this.dialog.open(OptVerifyComponent, { const dialogRef = this.dialog.open(OptVerifyComponent, {
width: '30%', width: '40%',
// height: '100%', // height: '100%',
// maxWidth: '38vw', // maxWidth: '38vw',
// position: { right: '0' }, // position: { right: '0' },

View File

@ -29,9 +29,11 @@ export class DoctorProfileComponent implements OnInit {
console.log(URL_AS_LIST); console.log(URL_AS_LIST);
this.backRouting = URL_AS_LIST[4] this.backRouting = URL_AS_LIST[4]
console.log(this.backRouting) console.log(this.backRouting)
console.log(URL_AS_LIST[2])
if(URL_AS_LIST[2] != 'business'){
this.getpractitionerList() this.getpractitionerList()
} }
}
ngOnInit(): void { ngOnInit(): void {
this.busName = localStorage.getItem('busName') this.busName = localStorage.getItem('busName')

View File

@ -60,10 +60,10 @@
<div class="container mt-1"> <div class="container mt-1">
<div fxLayout="row wrap" dir="ltr" fxLayoutAlign="center center"> <div fxLayout="row wrap" dir="ltr" fxLayoutAlign="center center">
<div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="100" fxFlex.lg="100" fxFlex.xl="100" class="m-gap p-gap flx"> <div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="100" fxFlex.lg="100" fxFlex.xl="100" class="m-gap p-gap flx">
<ng-scrollbar class="scrollHV2">
<mat-card class="card-mat"> <mat-card class="card-mat">
<div fxLayout="row wrap mt-2"> <div fxLayout="row wrap mt-2">
<div fxFlex.xs="50" fxFlex.sm="50" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50" class="p-gap"> <div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="50" fxFlex.lg="50" fxFlex.xl="50" class="p-gap">
<h4>Pick Appointment Time For <span style="color: #cc7424;border-bottom-color: #cc7424;">{{check(days) | date:'longDate'}} </span></h4> <h4>Pick Appointment Time For <span style="color: #cc7424;border-bottom-color: #cc7424;">{{check(days) | date:'longDate'}} </span></h4>
</div> </div>
@ -88,7 +88,6 @@
</div> </div>
</div> </div>
<ng-scrollbar class="scrollHV" > <ng-scrollbar class="scrollHV" >
<button *ngFor="let slot of slots;let i=index" mat-raised-button mat-button-sm class="mr-1 mt-1 hoverButton" [ngClass]="{'primary':slotIndex != i && checkSlotDur(slot,i)==1,'clickedSlot':slotIndex == i && checkSlotDur(slot,i)==1 }" (click)="toggleActive($event,slot,i)" ><span *ngIf="checkSlotDur(slot,i)==1">{{slot | date:'shortTime'}}</span></button> <button *ngFor="let slot of slots;let i=index" mat-raised-button mat-button-sm class="mr-1 mt-1 hoverButton" [ngClass]="{'primary':slotIndex != i && checkSlotDur(slot,i)==1,'clickedSlot':slotIndex == i && checkSlotDur(slot,i)==1 }" (click)="toggleActive($event,slot,i)" ><span *ngIf="checkSlotDur(slot,i)==1">{{slot | date:'shortTime'}}</span></button>
</ng-scrollbar> </ng-scrollbar>
@ -193,7 +192,7 @@
</div> --> </div> -->
</div> </div>
<div style="border: 1px solid #ccc;" fxFlex.md="1"></div> <div style="border: 1px solid #ccc;" fxFlex.md="1"></div>
<div fxFlex.xs="50" fxFlex.sm="50" fxFlex.md="35" fxFlex.lg="35" fxFlex.xl="35" class="p-gap"> <div fxFlex.xs="100" fxFlex.sm="100" fxFlex.md="35" fxFlex.lg="35" fxFlex.xl="35" class="p-gap">
<!-- <div class="inline"> <!-- <div class="inline">
<p class="text-color">Teero would like to schedule an interview with you! Pick a time & date.</p> <p class="text-color">Teero would like to schedule an interview with you! Pick a time & date.</p>
</div> --> </div> -->
@ -224,6 +223,7 @@
</div> </div>
</div> </div>
</mat-card> </mat-card>
</ng-scrollbar>
</div> </div>
</div> </div>
</div> </div>

View File

@ -293,9 +293,8 @@ footer {
float:left; float:left;
} }
// .scrollHV { .scrollHV2 {
// //height: calc(100vh - 150px); height: calc(100vh - 140px);
// // zoom: 90%; }
// }

View File

@ -10,6 +10,8 @@ import { catchError } from 'rxjs/operators';
export class SessionService { export class SessionService {
private apiUrl = environment.apiEndpoint; private apiUrl = environment.apiEndpoint;
private nameSource = new BehaviorSubject<string>(''); private nameSource = new BehaviorSubject<string>('');
public forgotEmail:BehaviorSubject<any> = new BehaviorSubject<any>([]);
public forgotEmail_observable$ = this.forgotEmail.asObservable();
name = this.nameSource.asObservable() name = this.nameSource.asObservable()
constructor(private _http: HttpClient) { } constructor(private _http: HttpClient) { }

View File

@ -15,13 +15,20 @@ export class ForgotPasswordComponent {
password: string; password: string;
form: FormGroup; form: FormGroup;
forgotTokenEmail: any; forgotTokenEmail: any;
forgotMailDara: any;
constructor(private router: Router,public _ser:SessionService) { } constructor(private router: Router,public _ser:SessionService) {
this._ser.forgotEmail_observable$.subscribe((res) => {
console.log('email', res);
this.forgotMailDara = res
})
}
ngOnInit() { ngOnInit() {
this.form = new FormGroup({ this.form = new FormGroup({
email: new FormControl('',[Validators.required,Validators.email,Validators.pattern('[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,63}$')]), email: new FormControl('',[Validators.required,Validators.email,Validators.pattern('[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,63}$')]),
}); });
this.form.controls['email'].setValue(this.forgotMailDara)
} }
submit(){ submit(){

View File

@ -113,6 +113,10 @@ export class LoginComponent {
} }
openForgot() { openForgot() {
console.log(this.loginForm.value.email)
let forgotMail = this.loginForm.value.email
console.log(this.loginForm.value.email)
this._ser.forgotEmail.next(forgotMail)
this.router.navigate(['authentication/forgot-password']) this.router.navigate(['authentication/forgot-password'])
// this.router.navigate(['/home']) // this.router.navigate(['/home'])
} }

View File

@ -11,14 +11,24 @@
<form [formGroup]="form" (ngSubmit)="submit()"> <form [formGroup]="form" (ngSubmit)="submit()">
<div fxLayout="column" fxLayoutAlign="start stretch"> <div fxLayout="column" fxLayoutAlign="start stretch">
<mat-form-field style="width: 100%" class="mb-1"> <mat-form-field style="width: 100%" class="mb-1">
<input matInput placeholder="New Password" type="password" formControlName="password" required> <input matInput placeholder="New Password" type="password" formControlName="password" [type]="hide ? 'password' : 'text'" required>
<mat-error *ngIf="myError('password', 'required')">Name is required</mat-error> <mat-icon class="passwordIcon" matSuffix (click)="hide = !hide">{{hide ? 'visibility_off' : 'visibility'}}</mat-icon>
<mat-error *ngIf="myError('password', 'maxlength')">Limit exceed</mat-error> <mat-error *ngIf="!form.get('password')?.errors?.required">
Password length must be greater than or equal to 8 and password must contain one or more uppercase , lowercase , numeric and special characters
</mat-error>
<mat-error *ngIf="form.get('password')?.invalid && (form.get('password')?.dirty || form.get('password')?.touched) && form.get('password')?.errors?.required">
Password is required
</mat-error>
</mat-form-field> </mat-form-field>
<mat-form-field style="width: 100%" class="mb-1"> <mat-form-field style="width: 100%" class="mb-1">
<input matInput placeholder="Confirm Password" type="password" formControlName="password2" required> <input matInput placeholder="Confirm Password" type="password" formControlName="password2" [type]="hide2 ? 'password' : 'text'" required>
<mat-error *ngIf="myError('password2', 'required')">Name is required</mat-error> <mat-icon class="passwordIcon" matSuffix (click)="hide2 = !hide2">{{hide2 ? 'visibility_off' : 'visibility'}}</mat-icon>
<mat-error *ngIf="myError('password2', 'maxlength')">Limit exceed</mat-error> <mat-error *ngIf="!form.get('password2')?.errors?.required">
Password length must be greater than or equal to 8 and password must contain one or more uppercase , lowercase , numeric and special characters
</mat-error>
<mat-error *ngIf="form.get('password2')?.invalid && (form.get('password2')?.dirty || form.get('password2')?.touched) && form.get('password2')?.errors?.required">
Password is required
</mat-error>
</mat-form-field> </mat-form-field>
<button class="mat-blue" type="submit" mat-raised-button>Submit</button> <button class="mat-blue" type="submit" mat-raised-button>Submit</button>
<p class="mat-text-warn mb-0"><a href="#">Forgot password?</a></p> <p class="mat-text-warn mb-0"><a href="#">Forgot password?</a></p>

View File

@ -12,18 +12,25 @@ import { SessionService } from 'app/session-services/session.service';
export class ResetPasswordComponent implements OnInit { export class ResetPasswordComponent implements OnInit {
form: FormGroup; form: FormGroup;
forgotApiDetails: string; forgotApiDetails: string;
hide: boolean;
hide2:boolean;
constructor(private router: Router,public _ser:SessionService) { } constructor(private router: Router,public _ser:SessionService) { }
ngOnInit(): void { ngOnInit(): void {
this.hide = true;
this.hide2 =true
this._ser.name.subscribe(data=>{ this._ser.name.subscribe(data=>{
this.forgotApiDetails = data; this.forgotApiDetails = data;
console.log(this.forgotApiDetails) console.log(this.forgotApiDetails)
}); });
this.form = new FormGroup({ this.form = new FormGroup({
password: new FormControl('',[Validators.required,Validators.maxLength(10)]), password: new FormControl('', [Validators.required,Validators.pattern(
password2: new FormControl('',[Validators.required,Validators.maxLength(10)]), '^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#$%^&*_=+-]).{8,12}$'
)]),
password2: new FormControl('', [Validators.required,Validators.pattern(
'^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#$%^&*_=+-]).{8,12}$'
)]),
}); });
} }
public myError = (controlName: string, errorName: string) =>{ public myError = (controlName: string, errorName: string) =>{