【问题标题】:Ionic 3 Dynamic radio button formBuilder validation if all selected then enable buttonIonic 3动态单选按钮formBuilder验证如果全部选中则启用按钮
【发布时间】:2018-10-25 13:42:21
【问题描述】:

我正在尝试验证我正在尝试验证的动态生成的单选按钮组,但我不确定如何验证如果我添加名称属性,如果我使用 ng-model="choice" 表单生成器,它会说它已经使用不接受我不确定如何验证其余的选择我已经完成了它工作得很好如果我的动态单选按钮验证得到解决我将不胜感激..下面是我的代码..

JS

class player {
    public id: number;
    public name: string;
}

class score {
    public id: number;
    public name: string;
}

classplayer: player[];
section: score[];

playerControl: FormControl;
scoreControl: FormControl;


constructor( public http: Http,private formBuilder: FormBuilder,public navCtrl: NavController, public navParams: NavParams) {

    this.playerControl = formBuilder.control(null, Validators.required);
    this.scoreControl = formBuilder.control(null, Validators.required);

    this.form = formBuilder.group({
        type: this.playerControl,
        class: this.scoreControl 
    });

}

HTML

<form [formGroup]="form">
    <ion-list>
        <ion-item>
            <ion-label>Name</ion-label>
            <ion-select formControlName="playerControl" (ionChange)="playerChange($event)">
                <ion-option *ngFor="let player of players" [value]="players">{{players.name}}</ion-option>
            </ion-select>
        </ion-item>
        <ion-item>
            <ion-label>score</ion-label>
            <ion-select formControlName="scoreControl" (ionChange)="scoreChange($event)">
                <ion-option *ngFor="let score of scores" [value]="score">{{scores.name}}</ion-option>
            </ion-select>
        </ion-item>
        <ion-grid class="table">
            <ion-title class="grey-color">Student List</ion-title>
            <ion-row class="header">
                <ion-col col-6="col-6">
                    <div text-center="text-center">
                        date / field 
                    </div>
                </ion-col>

                <ion-col class="last" col-6="col-6">
                    <div text-center="text-center">
                    Action</div>
                </ion-col>
            </ion-row>
            <ion-row class="rows" *ngFor="let details of details;  let rowIndex = index">
                <ion-col text-center="text-center" col-6="col-6">
                    [
                    {{details.date}}
                    ]<br>
                    {{students.field}}
                </ion-col>
                <ion-col class="rows last" col-6="col-6">
                    <ion-list class="row" no-lines="no-lines" radio-group="radio-group">
                        <ion-item col-4>
                            <ion-radio class="radio true" mode="md" value="true" ></ion-radio>
                        </ion-item>
                        <ion-item col-4>
                                <ion-radio class="radio false" mode="md" value="false"></ion-radio>
                        </ion-item>
                        <ion-item col-4>
                            <ion-radio class="radio " mode="md" value="not sure"></ion-radio>
                        </ion-item>
                    </ion-list>
                </ion-col>
            </ion-row>
        </ion-grid>
    </ion-list>
    <div padding-left padding-right>
        <button ion-button (click)="submit()" [disabled]="!form.valid">Submit</button>
        <button ion-button (click)="reset()" [disabled]="!countryControl.valid && !portControl.valid" color="light">Reset</button>
    </div>
</form>

【问题讨论】:

    标签: javascript angularjs ionic3 formbuilder


    【解决方案1】:

    试试这个

    .ts

    步骤:1

    import { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';
    

    步骤:2

    this.form = formBuilder.group({
        type: this.playerControl,
        class: this.scoreControl, 
        action: new FormControl(null, Validators.compose([
            Validators.required
            ]))
    });
    

    接下来,转到 your_html_file .html

    步骤:1

    <ion-col class="rows last" col-6="col-6">
        <ion-list class="row" no-lines="no-lines" radio-group="radio-group" formControlName="action">
            <ion-item col-4>
                <ion-radio class="radio true" mode="md" value="true" ></ion-radio>
            </ion-item>
            <ion-item col-4>
                    <ion-radio class="radio false" mode="md" value="false"></ion-radio>
            </ion-item>
            <ion-item col-4>
                <ion-radio class="radio " mode="md" value="not sure"></ion-radio>
            </ion-item>
        </ion-list>
    </ion-col>
    

    【讨论】:

    • 嗨@Shaik,如果您有任何其他问题,请随时发表评论。
    • 当然感谢您的支持检查,现在我会通知您
    • 验证有效,但不像预期的那样不像预期的那样,正如我提到的 foreach 动态单选按钮组,即 group1 , group2 , group 3 但如果我点击第一组单选按钮,它应该启用提交按钮等待所有组被验证
    • 我找到了这个项目我也在尝试https://stackblitz.com/edit/angular-reactive-forms?file=app%2Fapp.component.ts
    • 你好兄弟我有问题你能帮帮我吗
    猜你喜欢
    • 2019-03-31
    • 2019-12-24
    • 1970-01-01
    • 2017-09-02
    • 2015-05-31
    • 2014-02-26
    • 2017-01-18
    • 2018-09-07
    • 1970-01-01
    相关资源
    最近更新 更多