angular - Close ng-bootstrap modal -
i using ng-bootstrap angular 4 project , in section of project have used modal include form, when submit form, want modal
closed. have 2 component section :
1: click run modal
2: form validation inside modal
what can ?
my code :
<ng-template #signin let-c="close" let-d="dismiss"> <div class="modal-header"> <button type="button" class="close" aria-label="close" (click)="d('cross click')"> <span aria-hidden="true">×</span> </button> </div> <div class="modal-body"> <div class="row"> <div class="col-12 mt-5 mn-15px mb-2"> <div class="wrapper-left-content"> <app-login-form></app-login-form> </div> </div> </div> </div> </ng-template>
login.component.html
<form [formgroup]="loginform" (ngsubmit)="login(loginform.value)" class="form-horizontal"> <div class="form-group" [ngclass]="{ 'has-error': !(username.valid || username.untouched)}"> <input class="form-control" type="text" [formcontrol]="username" placeholder='sample'> <div [hidden]="username.valid || username.untouched"> <span class="text-danger" [hidden]="!username.haserror('required')"> 'sample' </span> </div> </div> <div class="form-group" [ngclass]="{ 'has-error': !(password.valid || password.untouched)}"> <input class="form-control" type="password" [formcontrol]="password" placeholder='sample'> <div [hidden]="password.valid || password.untouched"> <span class="text-danger" [hidden]="!password.haserror('required')"> 'sample' ! </span> <span class="text-danger" [hidden]="!password.haserror('minlength')"> 'sample' ! </span> </div> <a class="fs-12 pull-left my-2" href="#">'sample'؟</a> </div> <div class="form-group"> <button type="submit" [disabled]="!loginform.valid" class="btn btn-md btn-info btn-block">'sample'</button> </div> </form>
login.component.ts
export class logincomponent { @output() cancel = new eventemitter(); errormessage: string; username = new formcontrol('', [ validators.required, ]); password = new formcontrol('', [ validators.required, validators.minlength(6) ]); loginform: formgroup = this.builder.group({ username: this.username, password: this.password }); constructor(private builder: formbuilder, private auth: authservice, private router: router, private toastr: toastsmanager, vcr: viewcontainerref , public modalservice: ngbmodal) { this.toastr.setrootviewcontainerref(vcr); } login(values: any) { this.auth.login(values) .subscribe( loggedin => { if (loggedin) { this.router.navigatebyurl(''); this.toastr.success('sample', null, {toastlife: 4000}); this.auth.login_again(values) .subscribe( () => console.log(' login_again working !') ); } }, ); }
Comments
Post a Comment