其他分享
首页 > 其他分享> > angular 表单

angular 表单

作者:互联网

 

 

 https://blog.csdn.net/qq_38744335/article/details/89227168?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-1.pc_relevant_paycolumn_v3&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-1.pc_relevant_paycolumn_v3&utm_relevant_index=2

 

 

https://blog.csdn.net/weixin_39987434/article/details/99674554?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1.pc_relevant_default&utm_relevant_index=1

 

import { FormsModule,ReactiveFormsModule } from '@angular/forms'

 

 

import { Component, OnInit } from '@angular/core'; import { FormGroup,FormControl,Validators } from '@angular/forms' import { FormsModule,ReactiveFormsModule } from '@angular/forms'
@Component({   selector: 'app-home',   templateUrl: './home.component.html',   styleUrls: ['./home.component.scss'] })
export class HomeComponent implements OnInit {
  myGroup: any;   data:any={     name:"",     telmax:"",     telmin:"",     telreq:"",     telpat:"",   }   groupobj:any={     valid:"",     invalid:"",     pristune:"",     dirty:"",     touched:"",     untouched:"",     value:"",   }      constructor() { }
  ngOnInit(): void {     //'^[a-zA-Z][0-9]*$'     const nameformat='[0-9]'     this.myGroup = new FormGroup({       'name':new FormControl(this.data.name,[         Validators.required,       ]),       'telmax':new FormControl(this.data.telmax,[         Validators.maxLength(3),       ]),       'telmin':new FormControl(this.data.telmin,[         Validators.minLength(3),       ]),       'telreq':new FormControl(this.data.telreq,[         Validators.required,       ]),       'telpat':new FormControl(this.data.telpat,[         //         Validators.pattern(nameformat),       ]),     })   }   get names() { return this.myGroup.get("name") }   get telmax(){ return this.myGroup.get("telmax") }   get telmin(){ return this.myGroup.get("telmin") }   get telreq(){ return this.myGroup.get("telreq") }   get telpat(){ return this.myGroup.get("telpat") }
  onsubmit(val:any):void{     this.groupobj.valid = val.valid     this.groupobj.invalid = val.invalid     this.groupobj.pristune = val.pristune     this.groupobj.dirty = val.dirty     this.groupobj.touched = val.touched     this.groupobj.untouched = val.untouched     this.groupobj.value = val.value
    console.log(val)
    for(let obj in val.controls){       for(let errobj in val.controls[obj].errors){         console.log(obj +" : "+ errobj)       }     }   } }    
<div style="margin-left: 50px;">     <form [formGroup]="myGroup" (ngSubmit)="onsubmit(myGroup)">         name         <input type="text" [formControlName]="'name'" >         <div *ngIf="names.invalid">invalid 有不满足的规则</div>         <div *ngIf="names.valid">valid 满足所有规则</div>         <div *ngIf="names.dirty">dirty 项目值被用户变更过</div>         <div *ngIf="names.pristine">pristine 项目值未被用户变更过</div>         <div *ngIf="names.touched">touched 被访问过</div>         <div *ngIf="names.untouched">untouched 从未被访问过</div>         <br>
        telmax         <input type="text" formControlName="telmax"  > <br>         <div *ngIf="telmax.invalid">长度不能大于3<br></div>         <br>
        telmin         <input type="text" formControlName="telmin"  ><br>         <div *ngIf="telmin.invalid">长度不能小于3<br></div>         <br>
        telreq         <input type="text" formControlName="telreq"  ><br>         <div *ngIf="telreq.invalid">不能未空<br></div>         <br>
        telpat         <input type="text" formControlName="telpat"  ><br>         <div *ngIf="telpat.invalid">不符合入力规则<br></div>
        <input type="submit" value="submit">              </form>
    <pre>         {{groupobj | json}}         <br>         {{data  | json}}     </pre> </div>

标签:relevant,val,get,myGroup,表单,groupobj,pc,angular
来源: https://www.cnblogs.com/sqcokb/p/15881677.html