Advertisement
Guest User

Untitled

a guest
Jul 27th, 2017
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.03 KB | None | 0 0
  1. <div class="container">
  2.  
  3. <h2 class="page-header">Register</h2>
  4. <form (ngSubmit)="onRegisterSubmit()" [formGroup] = "form">
  5. <div class="form-group">
  6. <label>Full Name</label>
  7. <input type="text" [(ngModel)]="fullname" formControlName="fullname" class="form-control" >
  8.  
  9. </div>
  10. <div class="form-group">
  11. <label>Username</label>
  12. <input type="text" [(ngModel)]="username" formControlName="username" class="form-control" >
  13. </div>
  14. <div class="form-group">
  15. <label>Email</label>
  16. <input type="text" [(ngModel)]="email" formControlName="email" class="form-control" >
  17. </div>
  18. <div class="form-group">
  19. <label>Password</label>
  20. <input type="password" [(ngModel)]="password" formControlName="password" class="form-control">
  21. </div>
  22. <input type="submit" class="btn btn-primary" value="Submit" [disabled]="!form.valid">
  23. </form>
  24.  
  25. <br>
  26. <br>
  27.  
  28. <table border="2" class="table table-striped">
  29. <tr>
  30. <th>Full Name</th>
  31. <th>Username</th>
  32. <th>Email</th>
  33. <th>Password</th>
  34. <th>Delete</th>
  35. <th>Edit</th>
  36. </tr>
  37. <div > </div>
  38. <tr *ngFor="let user of userDetails">
  39. <td>{{user.username}}</td>
  40. <td>{{user.username}}</td>
  41. <td>{{user.email}}</td>
  42. <td>{{user.password}}</td>
  43. <td><button (click)="userDelete()">X</button></td>
  44. <td><button (click)="userEdit()">Edit</button></td>
  45. </tr>
  46.  
  47. </table>
  48. </div>
  49.  
  50. export class RegisterComponent implements OnInit {
  51.  
  52. fullname : string;
  53. username : string;
  54. email : string;
  55. password : string;
  56.  
  57. userDetails:Array<object>;
  58. constructor(
  59. private validateService: ValidateService,
  60. private flashMessage:FlashMessagesService)
  61. { }
  62.  
  63. form;
  64.  
  65. ngOnInit() {
  66. this.userDetails=[];
  67. this.form = new FormGroup({
  68. fullname : new FormControl("", Validators.required),
  69. username : new FormControl("", Validators.required),
  70. email : new FormControl("", Validators.required),
  71. password : new FormControl("", Validators.required)
  72.  
  73. });
  74. }
  75.  
  76. onRegisterSubmit(){
  77. let user = {
  78. fullname : this.fullname ,
  79. username : this.username,
  80. email : this.email ,
  81. password : this.password
  82. }
  83.  
  84. this.userDetails.push(user);
  85.  
  86.  
  87. if(!this.validateService.validateRegister(user)){
  88. this.flashMessage.show('Please fill in all fields', {cssClass: 'alert-danger', timeout: 3000});
  89. return false;
  90. }
  91.  
  92.  
  93. // Validate Email
  94. if(!this.validateService.validateEmail(user.email)){
  95. this.flashMessage.show('Please use a valid email', {cssClass: 'alert-danger', timeout: 3000});
  96. return false;
  97. }
  98.  
  99.  
  100. }
  101. userDelete(){
  102. this.userDetails.pop();
  103. }
  104. userEdit(){
  105. //No logic
  106. }
  107.  
  108.  
  109. }
  110.  
  111. export class ValidateService {
  112.  
  113. constructor() { }
  114.  
  115. validateRegister(user){
  116. if(user.fullname == undefined || user.email == undefined || user.username == undefined || user.password == undefined){
  117. return false;
  118. } else {
  119. return true;
  120. }
  121. }
  122.  
  123. validateEmail(email){
  124. const re = /^(([^<>()[]\.,;:s@"]+(.[^<>()[]\.,;:s@"]+)*)|(".+"))@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}])|(([a-zA-Z-0-9]+.)+[a-zA-Z]{2,}))$/;
  125. return re.test(email);
  126. }
  127. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement