personal details forms changes

This commit is contained in:
gandhimathi 2018-11-14 15:37:53 +05:30
parent f3dfdf654a
commit c22e97e823
2 changed files with 39 additions and 13 deletions

View File

@ -1,4 +1,4 @@
<form *ngIf="loadDataStatus" [formGroup]="_personalForm" (submit)="submitPersonalForm(_personalForm.value)">
<form *ngIf="loadDataStatus" [formGroup]="_personalForm" (submit)="submitPersonalForm(_personalForm.value)" novalidate>
<mat-card-content>
<!-- start main applicant details -->
@ -15,10 +15,13 @@
<mat-form-field style="width: 100%">
<input matInput placeholder="Name" formControlName="name_ans" type="text" required>
</mat-form-field>
<mat-form-field style="width: 100%">
<input matInput placeholder="Age" formControlName="age_ans" type="text" required>
<mat-error *ngIf="mainDetails['controls'].age_ans.hasError('pattern') || mainDetails['controls'].age_ans.hasError('maxlength') || mainDetails['controls'].age_ans.hasError('minlength')">Enter Valid Age. </mat-error>
</mat-form-field>
<mat-form-field style="width: 100%">
@ -68,6 +71,8 @@
<!-- <mat-label>{{coDetails.controls.pd_question.value}}</mat-label> -->
<input matInput placeholder="Age" formControlName="age_ans" type="text" required>
<mat-error *ngIf="coDetails['controls'].age_ans.hasError('pattern') || coDetails['controls'].age_ans.hasError('maxlength') || coDetails['controls'].age_ans.hasError('minlength')">Enter Valid Age. </mat-error>
</mat-form-field>
<mat-form-field style="width: 100%">
<!-- <mat-label>{{coDetails.controls.pd_question.value}}</mat-label> -->
@ -117,7 +122,7 @@
<div fxFlex="60" class="pb-0 text-sm-left">
<mat-form-field appearance="outline" style="width: 100%">
<mat-label>Remarks</mat-label>
<textarea matInput placeholder="Remarks" formControlName="personal_info_form_remark"></textarea>
<textarea matInput placeholder="Remarks" formControlName="personal_info_form_remark" required></textarea>
</mat-form-field>
</div>
</div>
@ -126,7 +131,7 @@
<mat-card-actions>
<div fxFlexOffset="90" fxFlex="10" style="text-align:left;">
<button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="submit" matTooltip="Save" matTooltipPosition="above" [disabled]="!_personalForm.valid "><mat-icon>save</mat-icon></button>
<button mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="submit" matTooltip="Save" matTooltipPosition="above"><mat-icon>save</mat-icon></button>
</div>
</mat-card-actions>

View File

@ -38,7 +38,6 @@ export class PersonalInfoComponent implements OnInit {
}
ngOnInit() {
this.loadPDDetails(this.pdid,this.form_id);
this.getRelationMaster();
this.mainApplicantDetails = this.pd_all_details.pdapplicants_detials.filter(item => item.applicant_type == 1);
@ -74,7 +73,7 @@ loadFormWithIDData(data) {
let mainApplicantGroup = new FormArray(main_result.map((item,key) => new FormGroup({
name_ans:new FormControl(item.name_ans, Validators.required),
age_ans:new FormControl(item.age_ans, Validators.required),
age_ans:new FormControl(item.age_ans, Validators.compose([Validators.required,Validators.minLength(1),Validators.maxLength(3),Validators.required,Validators.pattern('^[0-9]*$')])),
entity_ans:new FormControl(item.entity_ans, Validators.required),
qualification_ans:new FormControl(item.qualification_ans, Validators.required),
earning_ans:new FormControl(item.earning_ans, Validators.required),
@ -88,7 +87,7 @@ loadFormWithIDData(data) {
coApplicantGroup = new FormArray(co_result.map((item,key) => new FormGroup({
name_ans:new FormControl(item.name_ans, Validators.required),
age_ans:new FormControl(item.age_ans, Validators.required),
age_ans:new FormControl(item.age_ans, Validators.compose([Validators.required,Validators.minLength(1),Validators.maxLength(3),Validators.required,Validators.pattern('^[0-9]*$')])),
entity_ans:new FormControl(item.entity_ans, Validators.required),
qualification_ans:new FormControl(item.qualification_ans, Validators.required),
earning_ans:new FormControl(item.earning_ans, Validators.required),
@ -103,10 +102,10 @@ loadFormWithIDData(data) {
name_id:new FormControl(0),
age_ques:new FormControl(this.coApplicantQuestions[1]),
age_id:new FormControl(1),
age_ans:new FormControl(null, Validators.required),
age_ans:new FormControl(null, Validators.compose([Validators.required,Validators.minLength(1),Validators.maxLength(3),Validators.required,Validators.pattern('^[0-9]*$')])),
entity_ques: new FormControl(this.coApplicantQuestions[2]),
entity_id: new FormControl(2),
entity_ans:new FormControl(this.pd_all_details.pdmaster_details.customer_segment_abbr==='SP' ? 'Individual' : this.pd_all_details.pdmaster_details.customer_segment_abbr==='SNP' ? 'Individual' : '', Validators.required),
entity_ans:new FormControl(this.pd_all_details.pdmaster_details.customer_segment_abbr.substring(0,3).toUpperCase()==='SAL' ? 'Individual' : '', Validators.required),
qualification_ques: new FormControl(this.coApplicantQuestions[3]),
qualification_id: new FormControl(3),
qualification_ans:new FormControl(null, Validators.required),
@ -142,10 +141,10 @@ loadFormWithIDData(data) {
name_id:new FormControl(0),
age_ques:new FormControl(this.mainApplicantQuestions[1]),
age_id:new FormControl(1),
age_ans:new FormControl(null, Validators.required),
age_ans:new FormControl(null, Validators.compose([Validators.required,Validators.minLength(1),Validators.maxLength(3),Validators.required,Validators.pattern('^[0-9]*$')])),
entity_ques: new FormControl(this.mainApplicantQuestions[2]),
entity_id: new FormControl(2),
entity_ans:new FormControl(this.pd_all_details.pdmaster_details.customer_segment_abbr==='SP' ? 'Individual' : this.pd_all_details.pdmaster_details.customer_segment_abbr==='SNP' ? 'Individual' : '', Validators.required),
entity_ans:new FormControl(this.pd_all_details.pdmaster_details.customer_segment_abbr.substring(0,3).toUpperCase()==='SAL' ? 'Individual' : '', Validators.required),
qualification_ques: new FormControl(this.mainApplicantQuestions[3]),
qualification_id: new FormControl(3),
qualification_ans:new FormControl(null, Validators.required),
@ -161,10 +160,10 @@ loadFormWithIDData(data) {
name_id:new FormControl(0),
age_ques:new FormControl(this.coApplicantQuestions[1]),
age_id:new FormControl(1),
age_ans:new FormControl(null, Validators.required),
age_ans:new FormControl(null, Validators.compose([Validators.required,Validators.minLength(1),Validators.maxLength(3),Validators.required,Validators.pattern('^[0-9]*$')])),
entity_ques: new FormControl(this.coApplicantQuestions[2]),
entity_id: new FormControl(2),
entity_ans:new FormControl(this.pd_all_details.pdmaster_details.customer_segment_abbr==='SP' ? 'Individual' : this.pd_all_details.pdmaster_details.customer_segment_abbr==='SNP' ? 'Individual' : '', Validators.required),
entity_ans:new FormControl(this.pd_all_details.pdmaster_details.customer_segment_abbr.substring(0,3).toUpperCase()==='SAL' ? 'Individual' : '', Validators.required),
qualification_ques: new FormControl(this.coApplicantQuestions[3]),
qualification_id: new FormControl(3),
qualification_ans:new FormControl(null, Validators.required),
@ -208,7 +207,14 @@ this.loadDataStatus = true;
// submit forms details
submitPersonalForm(formData:any) {
if(this._personalForm.valid){
if (this._personalForm.invalid) {
this.validateAllFormFields(this._personalForm);
// this.notifier.notify('warning', 'All Fields Are Required.!');
return;
}
else{
let main_applicantDetails:any=[];
let co_applicantDetails:any=[];
@ -257,5 +263,20 @@ submitPersonalForm(formData:any) {
}
}
// validate all form group and form array fields
validateAllFormFields(formGroup: any) {
Object.keys(formGroup.controls).forEach(field => {
const control = formGroup.get(field);
if (control instanceof FormControl) {
control.markAsTouched({ onlySelf: true });
} else if (control instanceof FormGroup) {
this.validateAllFormFields(control);
} else if (control instanceof FormArray) {
this.validateAllFormFields(control);
}
});
}
}