问题标签 [angular-custom-validators]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angular - Angular 中的自定义验证不适用于 KeyPress 事件
我在表单中有 2 个字段。
我正在使用按键事件来验证输入,如下所示:
在AppComponent.ts文件中,我有一个 Form 对象和自定义验证,如下所示:
我的自定义验证代码如下所示:
在这里,问题在于按键。当我为 userIdMinLength 字段输入 5 并开始为 userIdMaxLength 输入 10 时,它将始终评估 10 中的第一个字符(即 1)并与 5 进行比较并引发错误。
如何处理?
angular - 验证器角度
我正在尝试对同一模式中的密码字段强制使用 Validators.required。如果是更新,它不会捕获 Validators.required 否则会出错。帮我!谢谢!
}
regex - 带有 Validators.pattern 的正则表达式仅用于整数
我正在尝试使用正则表达式为仅整数(例如 60)创建一个验证器。这是我尝试的方法:
它不起作用,但我不得不说我不熟悉这种技术。任何人都可以阐明如何修改此表达式以仅接受整数?这个数字是高度的,高度分为米和厘米。
我已经搜索过了,但是我可以找到小数,所以,不知何故,也许是因为它太微不足道了,对于整数,我找不到,事实上,我昨天在这里找到了,但我再也找不到我找到的答案了,我在寻找另一件事。
angular - 反应形式角度显示角度模式的错误
我有这样的反应形式
现在我需要为不同的错误显示错误,像这样
但我收到错误 无法读取 null 的属性“模式” 是否有人在显示模式错误时遇到类似问题?
angular - 有人可以分享有关修复此错误的任何见解吗?
我是堆栈溢出的新手,如果这篇文章有任何问题,我深表歉意。我尝试了各种替代方案,但没有找到任何解决方案。我只是在寻找建议。有人可以告诉我下面的代码有什么问题吗。感谢您的帮助
我收到错误,“productValidatorDirective”类型中的属性“验证”不能分配给基类型“AsyncValidator”中的相同属性
这是 Angular 9 中的场景,我正在尝试在模板驱动表单中使用带有输入类型文本的自定义验证器。我正在进行 api 调用并尝试验证 ID 是否存在,如果存在则向用户显示错误 - ID 可用。
javascript - 在函数内部动态设置时,setValidators 根本不起作用
我不确定为什么 setValidators 在我的以下代码中不起作用。我不确定问题是什么,因为当我根据需要设置 formControl 时它没有任何效果。如果选择了特定选项,我想要实现的是动态设置一些所需的 FormControls。如果您有任何想法,那将是惊人的。谢谢!
这是我的 HTML
这是我的 TS
angular - 导出 Angular 反应形式的验证器
我正在尝试创建一个ValidatorFn
将在代表自定义反应式表单控件的几个组件中使用。我最初的想法是生成一个 TypeScript 类,在那里创建一个(或多个)公共静态函数,然后像这样使用它myFGroup.setValidators(ReactiveValidators.myValidator)
:
问题是,虽然我在app.moduleReactiveValidators
中导入了这个类并将其添加到,但我仍然得到最喜欢的错误:declarations: []
错误 TS2307:找不到模块 'src/app/validators/reactive-validators'
有人可以告诉我我做错了什么吗?此外,这种方法甚至是一个好的方法吗?
angular - 如何在自定义 ControlValueAccessor 中使用内置 Angular 验证器
我的应用程序上有一个自定义组件继承了 ControlValueAccessor,它集成了ng-select
这个组件的目标是有一个集成 ng-select 的中心位置,以便我可以在整个应用程序中重复使用它。
这就是我调用验证方法的方式:
这就是我通常在父组件上实例化 formControl 的方式:
我想为父级提供在我的自定义组件上使用内置角度验证器的选项。(必填,电子邮件,最小,最大...)。
问题是我的自定义组件的控件值是一个字符串数组,例如该值将是:
组件看起来像这样
问题:在我的验证函数中,我可以访问 ValidatorFn 来检查我的控件是否是有效的电子邮件。如果我的控制值是一个字符串,它会按预期工作,但它是一个字符串数组,所以它不起作用。
所以我的猜测是我需要为我的自定义组件重新实现电子邮件验证器(因为 Angular 无法神奇地找出我的自定义组件中的数据结构是有道理的)。
但我不知道如何识别定义的验证器是Validator.email
.
this.controlDir.control.validator
是一个函数,我不知道如何识别它是电子邮件验证器,因此我可以为电子邮件添加自定义验证。
问题:我如何从我的自定义验证函数中知道哪个验证器是从父级设置的?是 Validators.required、Validators.email ...等吗
angular - 在自定义 Async Validator 中订阅是错误的?应该预期性能会变慢吗?
我一直在寻找很多关于以角度将异步验证器实现为反应形式的教程,我对以下代码有疑问。
这是处理这个问题的最佳方法吗?从 de asyncValidator 内部的 observable 订阅是一种不好的做法吗?