问题标签 [angular-validator]
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 - 如何将值传递给验证器以便在角度 5 中保存服务调用?
我有来自 ts 文件(组件)的以下代码:
如您所见,行程是在加载组件时获取的(它们显示在页面上以及控制台上),问题是这些值在Validator
处理时不可用。被createValidator
调用,但值未定义。我可以向验证器注入服务并再次从 restful 服务中获取值,但这没有任何意义。知道如何在this.tripNames
内部提供Validator
吗?谢谢。
javascript - 跨字段验证在 Angular 中不起作用
我在两个单独的组件中有两个日期字段。我在生效日期设置验证以验证生效日期是否早于申请日期。如果早于申请日期,则应显示错误消息。
我现在的问题是:如果用户首先输入申请日期,然后输入生效日期,则验证工作正常。但是如果用户在输入生效日期后更改了申请日期,验证将不会触发。换句话说,验证仅在生效日期更改时触发。
当申请日期更改时,如何进行生效日期验证?我还注意到,当有效日期早于申请日期时,会显示错误消息。然后我将申请日期更改为有效日期,错误消息不会消失。
我试图将申请日期传递给 EffectiveDate 组件。但是,它并没有像我预期的那样工作。
step1.component.html 是调用这两个组件的页面。我将 applicationDate$ 作为 [minEffectiveDate]="applicationDate$ | async" 传递给子组件。
step1.component.html,应用日期在 app-internal-use 组件内。
有效日期.component.html
有效日期.component.ts
dateNotLessThanSpecifiedDate函数:
任何帮助将不胜感激!
谢谢!
angular - 如何在自定义验证器中使用可注入服务
我有这个场景: -
我正在我的应用程序中创建一个 customvalidator,它使用服务来获取数据
但它抛出以下错误: -
无论如何我可以在该函数中使用角度服务吗?
angular - Angular 4 验证器在部署到服务器时工作方式不同
我有一个在本地运行时可以正常工作的验证器:
`导出函数currencyAmountValidator(控件:AbstractControl){
var 已通过 = /^(\£)?([1-9]{1}[0-9]{0,2})(\,\d{3}) (.\d{2})?$| ^(\$)?([1-9]{1}[0-9]{0,2})(\d{3}) (.\d{2})?$|^(0)?( .\d{2})?$|^(\$0)?(.\d{2})?$|^(\$.)(\d{2})?$/gm.test(control.value );
退货通过了?空:{无效:真};} `
它允许以下条目:100、100 英镑、123.45 英镑、1,300 英镑
但是,当我部署到服务器时,它不允许在开始时使用 £ 符号,但允许使用 $。为什么在本地和服务器上运行时它的工作方式不同?
angular - 带有动态/更新参数的 Angular 7 自定义验证
我正在使用带有材料设计组件的 Angular 7
我需要将 requireMatch 验证添加到 mat-autocomplete。
我已经使用参数创建了自定义验证,但参数值确实会动态变化。
下面是我的组件代码。
我面临的问题是我总是在accessCodes
里面变空(init) requireMatch
。
的更改this.accessCodeList
不会反映给验证者。
更改后的含义this.accessCodeList
不会在requireMatch
验证器中获得更新的数组。
所以有人知道如何在自定义验证器中传递动态参数吗?
angular - 如何使用 Angular Reactive Form 也需要禁用输入?
我有一个输入,当用户单击对话框时将填充该输入。所以为此我不得不禁用它,因为我不希望用户手动输入值。唯一的问题是这个输入必须是必需的,而我目前无法做到。
我曾尝试在输入中添加“必需”指令,并尝试在表单创建时添加 Validator.required,但这些都不是表单所需的字段。
unityForm 有效,即使输入中没有任何内容
angular - 如何正确使用带有自定义验证器的 FormControl?[角/角材料]
Validators
在FormControl
. _ 我的输入之一是错误的,但不存在错误。
这是我的两个FormControl:
FormControl1
有一个自定义错误,不像FormControl2
,这里是:
如果第一个输入的值为 2,则错误发生并且可以正常工作。另一方面,当第一个输入的值在 0 到 31 之间且不等于 2 时,我的输入显示为红色,好像还有错误,这是我不想要的。
我想FormControl1
以与 which 不显示错误相同的方式工作,FormControl2
因为它没有 custom Validators
。
HTML 代码:
如果有人能解决我的问题,我就是接受者。StackBlitz 这里
谢谢
angular - 如果模式已经实现了这个方面,我是否需要?
我希望表单中的某些字段是必需的并尊重某些模式。
目前我有这个:
Validators.required,
Validators.pattern('^[0-9-_\/]+$')
但我很好奇,是否需要 .required ,因为正则表达式中的 + 已经指定我需要超过 0 个元素?是否有任何必需的验证器做的 '.+' 正则表达式还没有?
angular - 您如何确定角度 8 中哪个验证器条件失败
例如,我有一个输入,我添加了多项验证条件,例如: required , mail 和 pattern ,所以任何一个失败都会导致 controls.status 给我“INVALID”,如果我想知道哪个失败了该怎么办?