我的要求是如果输入字段超过maxlength,则显示maxlength错误消息。
这适用于输入类型编号。如果输入字段超过maxlength,则显示错误消息。
这不适用于输入类型文本字段。错误消息未显示,而是限制用户输入的值多于给定的maxlength。
有谁能建议我解决这个问题。
谢谢你, Java4you。
答案 0 :(得分:1)
我建议使用ReactiveForms并将验证器设置为max-length。
在你的模块中:
import { ReactiveFormsModule } from '@angular/forms'
...
@NgModule({
imports: [
...
ReactiveFormsModule
]
.....
})
然后转到你的组件并注入formbuilder
import { FormBuilder } from '@angular/forms';
...
export class MyFormComponent {
public fb: FormGroup;
public constructor(private formBuilder: FormBuilder) {
this.fb = this.formBuilder.group({
myControlWithMaxLength: ['', Validators.maxLength(128)]
});
}
}
现在在您的模板中执行以下操作
<form [formGroup]="fb" novalidate>
<input type="text" formControlName="myControlWithMaxLength" />
<span *ngIf="fb.controls['myControlWithMaxLength'].hasError('maxLength')">Max length is 128!</span>
</form>
为了保持模板清洁,您可以在组件中编写getter。