validation - 如何使用异步验证器测试 Angular 4 字段验证
问题描述
如何使用异步验证器测试表单?您能否提供代码示例。我正在使用下面的测试测试下面具有异步验证器的电子邮件字段
email: ['', Validators.compose([ Validators.composeAsync([ emailValidator.validateEmail.bind(this)])]
});
it('email field invalid because of domain', fakeAsync(() => {
const hostElement = fixture.nativeElement;
const emailInput: HTMLInputElement = hostElement.querySelector('#email');
emailInput.value = 'user@yahoo.com';
emailInput.dispatchEvent(new Event('input'));
fixture.detectChanges();
const email = component.email;
console.log('valid : ' + email.valid); //false
console.log('errors : ' + JSON.stringify(email.errors)); // null
});
异步验证器返回 observable 并在控制台中打印出正确的值,指示错误,但电子邮件没有错误,即使它是无效的。
我错过了什么?谢谢你
解决方案
推荐阅读
- apache - 为什么 Apache 在优雅重启后出现错误“(11677):致命错误共享内存不足!”
- sql - 无法创建存储过程来插入数据:串行列的类型不匹配
- javascript - JavaScript - 我想获得一个不同的随机数组数据,直到数组结束
- flutter - Flutter:允许带逗号的小数
- c# - Microsoft Graph 增量函数
- amazon-web-services - gitlab ce 脚本部署到 AWS Amplify、Aurora 和 lamdba
- android - 使用 Jetpack Compose 更改导航时如何缓存数据?
- python - 将列表框的选定变量的索引存储在列表中
- react-native - 领域同步不适用于本机反应中的嵌入式对象
- or-tools - OR-Tools:有利润的 TSP