Angular2验证器,它依赖于多个表单字段

是否可以创建一个可以使用多个值来确定我的字段是否有效的验证器?


例如,如果客户首选的联系方式是通过电子邮件,则必须填写电子邮件字段。


谢谢。


更新了示例代码...


    import {Component, View} from 'angular2/angular2';

    import {FormBuilder, Validators, formDirectives, ControlGroup} from 'angular2/forms';


    @Component({

        selector: 'customer-basic',

        viewInjector: [FormBuilder]

    })

    @View({

        templateUrl: 'app/components/customerBasic/customerBasic.html',

        directives: [formDirectives]

    })

    export class CustomerBasic {

        customerForm: ControlGroup;


        constructor(builder: FormBuilder) {

            this.customerForm = builder.group({

                firstname: [''],

                lastname: [''],

                validateZip: ['yes'],

                zipcode: ['', this.zipCodeValidator] 

                // I only want to validate using the function below if the validateZip control is set to 'yes'

            });

        }


        zipCodeValidator(control) {

            if (!control.value.match(/\d\d\d\d\d(-\d\d\d\d)?/)) {

                return { invalidZipCode: true };

            }

        }


    }


largeQ
浏览 727回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

AngularJS