代码之家  ›  专栏  ›  技术社区  ›  user944513

如何在单击按钮时显示验证消息?

  •  0
  • user944513  · 技术社区  · 8 年前

    您能告诉我如何在点击按钮时显示验证信息吗?这是我的密码 https://stackblitz.com/edit/angular-ugdbvg?file=src/app/app.component.html

    我想展示 required 用户按下时出现错误消息 submit

      <form novalidate [formGroup]="searchForm" class="calform">
          <section class="col-sm-6 bg-white  pl-20 pr-20">
    
          <div class="form-group col-sm-4 pl-0 error">
              <label class="field-title mb-5">name<span class="color-red fontWt">&nbsp;*</span></label>
              <input type="text" placeholder="Enter name" formControlName="name">
              <p class="message" [hidden]="searchForm.get('name')">Required</p>
            </div>
    
            <div class="form-group col-sm-4 pl-0 error">
              <label class="field-title mb-5">last name <span class="color-red fontWt">&nbsp;*</span></label>
              <input type="text" placeholder="Enter last name" formControlName="lastName">
              <p class="message" [hidden]="searchForm.get('lastName')">Required</p>
            </div>
            <button (click)="submitHandler()">submit</button>
          </section>
        </form>
    

    js

    this.searchForm = this.fb.group({
          name: ['', Validators.required],
              lastName: ['', Validators.required]
    
        });
    
    3 回复  |  直到 8 年前
        1
  •  1
  •   Ayoub k    8 年前

    添加以下行以进行检查:

    <span class="error" *ngIf="!!searchForm.controls.name.errors.required && (!!searchForm.controls.name.dirty || !!searchForm.controls.name.touched)">
        Name is required.
    </span> 
    <span class="error" *ngIf="!!searchForm.controls.lastName.errors.required && (!!searchForm.controls.lastName.dirty || !!searchForm.controls.name.touched)">
        lastName is required.
    </span>
    

    在ts文件中:

    submitHandler() {
        if(this.searchForm.valid) {
            // Logic
        }
    }
    

    https://stackblitz.com/edit/angular-utvw23

        2
  •  0
  •   Suresh Kumar Ariya    8 年前

    你需要使用*ngIf。更新了Stackblitz代码。 https://stackblitz.com/edit/angular-fzyrji

        3
  •  0
  •   Akj    8 年前

    试着这样做:

    使用 [hidden] 或 *ngIf

    DEMO

    <div class="form-group col-sm-4 pl-0 error">
                <label class="field-title mb-5">name<span class="color-red fontWt">&nbsp;*</span></label> {{show}}
                <input type="text" placeholder="Enter name" formControlName="name"> {{searchForm.get('name').invalid}}
                <p class="message" [hidden]="!(show && searchForm.get('name').invalid)">Required</p>
            </div>
    
            <div class="form-group col-sm-4 pl-0 error">
                <label class="field-title mb-5">last name <span class="color-red fontWt">&nbsp;*</span></label>
                <input type="text" placeholder="Enter last name" formControlName="lastName">
                <p class="message" [hidden]="!(show && searchForm.get('lastName').invalid)">Required</p>
            </div>
    
            <button (click)="show = true ; submitHandler();">submit</button>
        </section>
    </form>
    
    推荐文章