validation - Angular 2 自定义验证器运行两次

标签 validation angular

为了调试目的,我跟踪了剥离的代码。 emailForCloudUserValidator 在单个 NgOnInit 运行中运行两次,将两条消息记录到控制台。

ngOnInit(){
  this.contactControlGroup = this.formBuilder.group({
    email:[this.contact.email, this.emailForCloudUserValidator]
  });
  this.formControls = this.contactControlGroup.controls;
}

private emailForCloudUserValidator(control: Control) :  { [s: string]: boolean }{
  if(!control.value){
    console.log("email value is null");
  }
  return;
}

最佳答案

bootstrap() 之前调用 enableProdMode() 应该可以修复它:

import {enableProdMode} from "angular2/core";

enableProdMode();

默认情况下,Angular2 在 devMode 下运行,其中更改检测始终运行两次,以检查表明应用程序中存在错误的模型不稳定性(这会产生错误消息Expression 'xxxx' waschanged after已检查)

关于validation - Angular 2 自定义验证器运行两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36775931/

相关文章:

javascript - ASP.NET 潜在的危险请求 Javascript 正则表达式

angular - 试图了解 Angular 缓存破坏

angular - nginx 反向代理,用于在 nginx 上运行的 Angular 应用程序

angular - 如何在 kendo ui angular 2 中执行 colspan/rowspan?

php - Laravel - 在编辑 View 上添加日期验证

java - 验证以检查我的三角形的坐标是否是 java 中的有效输入,这意味着三角形已正确构造

javascript - 如何使用 ngModelChange 过滤 Angular 4 中的对象值?

javascript - 无法将数据修补到 FormArray

c# - Fluent Validation - 当特定验证失败时停止验证所有其他验证

c - 为什么 scanf llu 不验证 %llu?