首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用模式的格式电子邮件自定义验证不起作用

使用模式的格式电子邮件自定义验证不起作用
EN

Stack Overflow用户
提问于 2021-06-10 02:59:00
回答 1查看 333关注 0票数 1

我想在ngx格式中验证输入(电子邮件)。尝试使用下面的代码,但它不起作用

app.module.ts

代码语言:javascript
复制
export function EmailValidator(control: FormControl): ValidationErrors {
    return /^[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}$/.test(control.value) ? null : { 'email': true };
}

export function EmailValidatorMessage(err, field: FormlyFieldConfig) {
    return `"${field.formControl.value}" is not a valid Email Address`;
}

app.component.ts

代码语言:javascript
复制
{
    key: 'email',
    type: 'input',
    className: 'flex-3',
    templateOptions: {
        type: 'text',
        label: 'Email',
        placeholder: 'Email',
    },
    validators: {
        validation: ['email'],
    }
}
EN

回答 1

Stack Overflow用户

发布于 2021-08-26 10:19:53

请将您的正则表达式模式替换为以下模式。

代码语言:javascript
复制
/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/

此外,必须在app.module.ts文件的ng模块部分中注册验证器和验证器消息

代码语言:javascript
复制
 FormlyModule.forRoot({
  validators: [

    { name: "email", validation: EmailValidator }
,],
  validationMessages: [

    { name: "email", message: EmailValidatorMessage }
  ]
})

],

请将您的代码与此https://stackblitz.com/edit/ngx-formly-custom-validator?file=src%2Fapp%2Fapp.component.ts进行比较

有关正则表达式模式,请参阅此https://www.w3resource.com/javascript/form/email-validation.php

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67910224

复制
相关文章

相似问题

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