微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

验证下拉列表不起作用按钮未启用

如何解决验证下拉列表不起作用按钮未启用

我尝试制作简单的输入表单并希望进行验证(选择下拉菜单时 - 必须启用和禁用按钮,否则)。

constructor(public fb: FormBuilder) {
     }

  /**
   * Form
   */

   inputForm = new FormGroup({
    versionControl: new FormControl('',Validators.required),someDataControl: new FormControl('',[Validators.required]),someControl3: new FormControl('True'),someControl4: new FormControl('',somwControl5: new FormControl('',someControl6: new FormControl('True'),button:new FormControl('',[Validators.required])
  });

 


 get f() {
    return this.inputForm.controls;
  }

  /**
   * Show report - load data to Server
   */
 onShow()
  {
    

  }
@import "~bootstrap/dist/css/bootstrap.css";

.wrapper {
  display: grid;

}

#grid {
  display: grid;
  grid-template-rows:  1fr 1fr 1fr;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-gap: 1vw;
  border: 1px solid black;
  margin: 10px;
}


#grid > div {
  font-size: medium;
  padding: .5em;
  background: white;
  text-align: justify;
}

.flex-container {
  display: flex;
  flex-wrap: wrap

}

.auto-fill {
  grid-template-columns: repeat(auto-fill,minmax(150px,1fr));
}

.auto-fit {
  grid-template-columns: repeat(auto-fit,1fr));
}
<form class="flex-container Box1" [formGroup]="inputForm" (ngSubmit)="onShow()">
  <div id="grid" class="grid auto-fill form-control">
    <div>Text:</div>

    <div class="Box3">
      <select class="form-control Box3" formControlName="versionControl"  (change)="changeWebsite($event)">
        <option disabled>Text1</option>
                <option>Text1</option>
                <option *ngFor="let ver of Versions">{{ver.itemName}}</option>
      </select>
      
        <div *ngIf="f.versionControl?.invalid" class="alert alert-danger">
                <div *ngIf="f.versionControl.errors?.required">Version is required.</div>
            </div>      
    </div>
   

    <div>2:</div>
    <div class="Box3">
      <select formControlName="someDataControl">
        <option value="" disabled>Text2</option>
        <option *ngFor="let data of SomeData1" [ngValue]="state">
          {{ data }}
        </option>
      </select>
    </div>

    <div>
      <p>Text3</p>
    </div>
    <div>
      <input type="radio" formControlName="someControl3" value="True" /> True<br />
      <input type="radio" formControlName="someControl3" value="False" /> False<br />
    </div>
    <div>
      <p>Text4</p>
    </div>
    <div>
      <select formControlName="someControl4">
        <option value="" disabled>
          Text5
        </option>
        <option
          *ngFor="let data of SomeData4"
          [ngValue]="data"
        >
          {{ data.itemName }}
        </option>
      </select>
    </div>

    <div>
      <p>Text</p>
    </div>
    <div>
      <select formControlName="somwControl5">
        <option value="" disabled>Select</option>
        <option *ngFor="let data of SomeData5" [ngValue]="data">
          {{ data.itemName }}
        </option>
      </select>
    </div>
    <div>
      <p>Text</p>
    </div>
    <div>
      <input type="radio" formControlName="someControl6" value="True" /> True<br />
      <input type="radio" formControlName="someControl6" value="False" /> False<br />
    </div>
  </div>
  <div>
    <p style="text-align: center">     
       <button class="btn btn-primary" type="submit" [disabled]="inputForm.invalid">Show</button>   
    </p>
  </div>
</form>

我不明白,但即使我在“版本”中选择下拉项,每次“显示”按钮也会被禁用。

如何解决? 我想如果用户选择下拉项 - 按钮启用。

解决方法

这里回答:

 <div>
            <mat-select multiple class="form-control box3" 
         formControlName="someControl" (change)="changeSome($event)">
                <mat-option disabled>Select Some</mat-option>
                <mat-option [value]="0">Select All</mat-option>
                <mat-option *ngFor="let data of SomeData" [value]="data">{{ data }}</mat-option>
            </mat-select>

            <div *ngIf="
        inputForm.controls['someControl']?.invalid &&
        inputForm.controls['someControl'].touched
      " class="alert alert-danger">
                <div>Select SomeThing</div>
            </div>
        </div>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?