当前位置: 首页 > 知识库问答 >
问题:

Angular 5:找不到模块:错误:无法解析@角/形式/src/validators

龚同
2023-03-14

我试图使用指令创建一个自定义验证器,但出现以下错误。

ERROR in ./src/app/CustomValidators/white-space-validator.directive.ts
Module not found: Error: Can't resolve '@angular/forms/src/validators' in 'D:\Angular\Admin\src\app\CustomValidators'
resolve '@angular/forms/src/validators' in 'D:\Angular\Admin\src\app\CustomValidators'
  Parsed request is a module
  using description file: D:\Angular\Admin\package.json (relative path: ./src/app/CustomValidators)
    Field 'browser' doesn't contain a valid alias configuration
  after using description file: D:\Angular\Admin\package.json (relative path: ./src/app/CustomValidators)
    resolve as module.....

指令文件中的代码:

import { Directive } from '@angular/core';
import { ValidatorFn, Validator } from '@angular/forms/src/directives/validators';
import { AbstractControl, FormControl } from '@angular/forms/src/model';
import { NG_VALIDATORS } from '@angular/forms/src/validators';

@Directive({
  selector: '[whiteSpace][ngModel]',
  providers: [
    { provide: NG_VALIDATORS, useExisting: WhiteSpaceValidatorDirective, multi: true }
  ]
})

export class WhiteSpaceValidatorDirective  {
  validator : ValidatorFn;

  constructor() { 
    this.validator = checkWhiteSpaces();
  }

  validate(c: FormControl){
    return this.validator(c);
  }
}

function checkWhiteSpaces(): ValidatorFn {
  return (c: AbstractControl) => {
    let isValid = c.value.trim().length > 0 ? true : false;
    if (isValid) {
      return null;
    }
    else {
      return {
        whiteSpace: { valid: false }
      }
    }
  }
}

我正在使用的软件包版本:

  • Angular CLI:1.5.5节点:8.2.1操作系统:win32 x64 Angular:5.1.2。。。动画,通用,编译器,编译器cli,核心,窗体。。。http,
    语言服务,平台浏览器。。。平台浏览器动态,
    路由器@angular/cli:1.5.5@angular devkit/build optimizer:0.0.36@angular devkit/core:0.0.22@angular devkit/schematics:0.0.42
    @ngtools/json模式:1.1.0@ngtools/webpack:1.8.5
    @schematics/angulars:0.1.11@schematics/schematics:0.0.11
    类型脚本:2.2网页包:3.8.1

有什么帮助吗?

共有1个答案

魏康安
2023-03-14

导入只是从@角/形式

import { 
      ValidatorFn,
      Validator, 
      AbstractControl, 
      FormControl, 
      NG_VALIDATORS 
} from '@angular/forms';
 类似资料:
  • 问题内容: 我正在使用Babel和Webpack开发一个React应用,我想使用npm中的软件包。我已经安装了该软件包并将其保存为项目的依赖项。运行npm start后,出现此错误: ./~/file-exists/index.js中的错误找不到 模块:错误:无法在C:\ GitHub \ CryptoPrices \ node_modules \ file-exists @ ./~/file-e

  • 当我执行npm运行构建时,我得到以下错误 找不到./src/assets/scss/theme.scss(./node_modules/css-loader/dist/cjs.js!./node_modules/resolve-url-loader!./node_modules/sass-loader/dist/cjs.js!./src/assets/scss/theme.scss)模块:错误:无

  • 我看到了类似的问题,但找不到解决办法,也许是因为我的webpack.config.js不同。重要的是要注意,我只得到这个问题在MacOS上执行"webpack--disport-erm-详情"的文件夹的根webpack.config.js. 完整的源代码在这里 网页包。配置。js 包裹json 完全错误 未找到输入模块中的错误:错误:无法在“/Users/Marvs/source/accountg

  • 我正在使用css加载程序,出现以下错误: 错误/src/pages/home/index。未找到js 模块:错误:无法解析“/Users/jian/Documents/sina/webpack barbarrian test”中的“css加载程序” @/src/pages/home/index。js 2:0-20 @multi/webpack barbarian/node_模块/webpack开发

  • 我使用本教程:https://alligator.io/vuejs/rest-api-axios/ 并尝试像这样使用axios:在我的main.js文件中: 在my.vue文件中: 错误。/node_modules/Babel-loader/lib!。/node_modules/vue-loader/lib/selector.js?type=script

  • 问题内容: 我正在将样式加载器与webpack和react框架一起使用。当我在终端中运行webpack时,尽管我已正确指定了文件路径,但我仍获取import.js文件。 webpack.config.js: 问题答案: 尝试在下面运行脚本: 修改webpack配置,在中添加字段。