问题标签 [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.

0 投票
1 回答
75 浏览

angular - 如何将值传递给验证器以便在角度 5 中保存服务调用?

我有来自 ts 文件(组件)的以下代码:

如您所见,行程是在加载组件时获取的(它们显示在页面上以及控制台上),问题是这些值在Validator处理时不可用。被createValidator调用,但值未定义。我可以向验证器注入服务并再次从 restful 服务中获取值,但这没有任何意义。知道如何在this.tripNames内部提供Validator吗?谢谢。

0 投票
1 回答
277 浏览

javascript - 跨字段验证在 Angular 中不起作用

我在两个单独的组件中有两个日期字段。我在生效日期设置验证以验证生效日期是否早于申请日期。如果早于申请日期,则应显示错误消息。

我现在的问题是:如果用户首先输入申请日期,然后输入生效日期,则验证工作正常。但是如果用户在输入生效日期后更改了申请日期,验证将不会触发。换句话说,验证仅在生效日期更改时触发。

当申请日期更改时,如何进行生效日期验证?我还注意到,当有效日期早于申请日期时,会显示错误消息。然后我将申请日期更改为有效日期,错误消息不会消失。

我试图将申请日期传递给 EffectiveDate 组件。但是,它并没有像我预期的那样工作。

step1.component.html 是调用这两个组件的页面。我将 applicationDate$ 作为 [minEffectiveDate]="applicationDate$ | async" 传递给子组件。

step1.component.html,应用日期在 app-internal-use 组件内。

有效日期.component.html

有效日期.component.ts

dateNotLessThanSpecifiedDate函数:

任何帮助将不胜感激!

谢谢!

0 投票
0 回答
314 浏览

angular - 如何拦截 Angular 7 组件中的 ngClass 属性更改事件?

我创建了一个带有验证的自定义表单控件,如本博客中所述。组件正在工作,并看到验证应用于组件选择器本身。我希望将ng-invalid其应用于该组件内的 HTML 元素。我看到这个问题已经描述了这个问题

一种可能的解决方案是在ngClass更改时拦截事件,以便可以将其从父选择器标记中删除并添加到控件中的子元素中。

如何拦截修改ngClass组件中属性的事件?

0 投票
1 回答
208 浏览

angular - 如何在自定义验证器中使用可注入服务

我有这个场景: -

我正在我的应用程序中创建一个 customvalidator,它使用服务来获取数据

但它抛出以下错误: -

无论如何我可以在该函数中使用角度服务吗?

0 投票
1 回答
38 浏览

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 英镑

但是,当我部署到服务器时,它不允许在开始时使用 £ 符号,但允许使用 $。为什么在本地和服务器上运行时它的工作方式不同?

0 投票
3 回答
5926 浏览

angular - 带有动态/更新参数的 Angular 7 自定义验证

我正在使用带有材料设计组件的 Angular 7

我需要将 requireMatch 验证添加到 mat-autocomplete。

我已经使用参数创建了自定义验证,但参数值确实会动态变化。

下面是我的组件代码。

我面临的问题是我总是在accessCodes里面变空(init) requireMatch

的更改this.accessCodeList不会反映给验证者。

更改后的含义this.accessCodeList不会在requireMatch验证器中获得更新的数组。

所以有人知道如何在自定义验证器中传递动态参数吗?

0 投票
4 回答
4150 浏览

angular - 如何使用 Angular Reactive Form 也需要禁用输入?

我有一个输入,当用户单击对话框时将填充该输入。所以为此我不得不禁用它,因为我不希望用户手动输入值。唯一的问题是这个输入必须是必需的,而我目前无法做到。

我曾尝试在输入中添加“必需”指令,并尝试在表单创建时添加 Validator.required,但这些都不是表单所需的字段。

unityForm 有效,即使输入中没有任何内容

0 投票
1 回答
82 浏览

angular - 如何正确使用带有自定义验证器的 FormControl?[角/角材料]

ValidatorsFormControl. _ 我的输入之一是错误的,但不存在错误。

在此处输入图像描述

这是我的两个FormControl:

FormControl1有一个自定义错误,不像FormControl2,这里是:

如果第一个输入的值为 2,则错误发生并且可以正常工作。另一方面,当第一个输入的值在 0 到 31 之间且不等于 2 时,我的输入显示为红色,好像还有错误,这是我不想要的。

我想FormControl1以与 which 不显示错误相同的方式工作,FormControl2因为它没有 custom Validators

HTML 代码:

如果有人能解决我的问题,我就是接受者。StackBlitz 这里

谢谢

0 投票
1 回答
24 浏览

angular - 如果模式已经实现了这个方面,我是否需要?

我希望表单中的某些字段是必需的并尊重某些模式。

目前我有这个: Validators.required, Validators.pattern('^[0-9-_\/]+$')

但我很好奇,是否需要 .required ,因为正则表达式中的 + 已经指定我需要超过 0 个元素?是否有任何必需的验证器做的 '.+' 正则表达式还没有?

0 投票
2 回答
4613 浏览

angular - 您如何确定角度 8 中哪个验证器条件失败

例如,我有一个输入,我添加了多项验证条件,例如: required , mail 和 pattern ,所以任何一个失败都会导致 controls.status 给我“INVALID”,如果我想知道哪个失败了该怎么办?