gpt4 book ai didi

angular - minLength 和 maxLength 验证器在 Angular7 响应式表单中不起作用

转载 作者:行者123 更新时间:2023-12-03 18:40:51 25 4
gpt4 key购买 nike

我正在尝试使用响应式表单在 Angular7 中使用 Validators.minLength 和 Validators.maxLength ,但出现以下错误:

ERROR Error: Expected validator to return Promise or Observable.



这是我拥有的 typescript 代码:
import { Component, OnInit } from '@angular/core';
import { FormGroup, FormControl, FormBuilder, Validators } from
'@angular/forms';

@Component({
selector: 'app-input-values',
templateUrl: './input-values.component.html',
styleUrls: ['./input-values.component.css']
})

export class InputValuesComponent implements OnInit {
inputValuesForm: FormGroup;

constructor(private fb: FormBuilder) { }

ngOnInit() {
this.inputValuesForm = this.fb.group({
interestRate: ['', Validators.required, Validators.minLength(2),
Validators.maxLength(5)]

})
}

这是我的模板 html:
<form [formGroup]="inputValuesForm" (ngSubmit)="onSubmit()" class="form-horizontal">
<div class="panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title">Input Data</h3>
</div>

<div class="panel-body">
<div class="form-group" [ngClass]="{'has-error': inputValuesForm.get('interestRate').errors &&
(inputValuesForm.get('interestRate').touched || inputValuesForm.get('interestRate').dirty)}">
<label class="col-sm-4 control-label" for="interestRate">Interest Rate (omit percent sign):</label>
<div class="col-sm-2">
<input id="interestRate" formControlName="interestRate" type="text" class="form-control">
<span class="help-block" *ngIf="inputValuesForm.get('interestRate').errors &&
(inputValuesForm.get('interestRate').touched || inputValuesForm.get('interestRate').dirty)">
<span *ngIf=" inputValuesForm.get('interestRate').errors.required">
Interest Rate is required
</span>
<span
*ngIf="inputValuesForm.get('interestRate').errors.minlength || inputValuesForm.get('interestRate').errors.maxlength">
Interest Rate must be greater than 1 character and less than 6 characters
</span>
</span>
</div>
</div>

</div>
</div>
</form>

你能看出问题是什么吗?

最佳答案

当你应用多个验证器时,它应该是一个数组:

ngOnInit() {
this.inputValuesForm = this.fb.group({
interestRate: ['', [Validators.required, Validators.minLength(2),
Validators.maxLength(5)]]

})
}

关于angular - minLength 和 maxLength 验证器在 Angular7 响应式表单中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55345581/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com