Angular 4 导入校验函数报错:has no exported member 'XXX'.

拾光过客
  • 605

能运行,但报错。提示的错误行就是导入啊

在Stackoverflow上搜到几条类似信息,未能解决。

报错内容

错误行

TS

import { FormControl, FormGroup } from "@angular/forms";

export function mobileValidator(control: FormControl): any {
    const myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/;
    const valid = myreg.test(control.value);
    console.log("mobile的校验结果是:" + valid);
    return valid ? null : {mobile : true};     // 校验通过返回空,没通过返回一个对象,当前给的任意值
  }
export function equalValidator(group: FormGroup): any {
    const password: FormControl = group.get("password") as FormControl;
    const pconfirm: FormControl = group.get("pconfirm") as FormControl;
    const valid: boolean = (password.value === pconfirm.value);
    console.log("两次密码输入是否一致校验结果:"+ valid);
    return valid ? null : {equal: true};
  }
回复
阅读 3.6k
1 个回答
✓ 已被采纳

错误提示很明确了呀has no exported member 'XXX'.这个模块没有被导出
你看看你的validators.ts是怎么写的。用js的方式的话export {xxx}或者export default xxx导出,用ts的方式的话export class xxx或者使用类似的形式导出,不然没法使用import引用。看了你的ts文件,你的导出方式不对。你把前面的export去掉,最后面加

export { mobileValidator,equalValidator };

这样就可以了

宣传栏