首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何在Angular 2上实现我的自定义验证器?

我如何在Angular 2上实现我的自定义验证器?
EN

Stack Overflow用户
提问于 2016-06-29 05:26:46
回答 1查看 880关注 0票数 1

如何在Angular 2中实现我的自定义Validator?

我找到了this plunker

代码语言:javascript
复制
constructor(private fb: FormBuilder) {
    this.form = fb.group({
        'singleSelection': ['Rio', [App.validateCity]] // initial value as string
        'multipleSelection': [['Red','Blue'], [App.validateColor]]  // initial value as array
    });
}

static validateCity(c: FormControl) {
    if (c.value !== 'New York') {
        return { citySucks: true };
    }
    return null;
}

static validateColor(c: FormControl) {
    if (c.value.indexOf('Green') < 0) {
        return {badColor: true};
    }
    return null;
}

但是,我认为实现一个接口验证器会更好,比如MinLengthValidator类。但是,我不知道如何使用它!

EN

回答 1

Stack Overflow用户

发布于 2016-06-29 14:48:15

//控件处理

代码语言:javascript
复制
          this.form = fb.group({
            'singleSelection': ['Rio', this.text({min: 10})]
          });

//处理最小值的Text函数

代码语言:javascript
复制
           public static text(config = {}): ValidatorFn {
             return (control: Control): {} => {
                if(!control) {
                   return null;
                }

              let c: string = control.value;

            if(config.min) {
              if(c.length < config.min) {
                  return {
                  "This field must have at least " + config.min + " characters."
                  };
               }
             }
           }}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38086591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档