我试图使用角度为2的ngControl值来验证输入字段.我需要验证用户始终以大写形式输入值.
现在我们需要将用户输入的值转换为大写.但是我使用ngControl处理输入字段中的值,而不是ngModel(考虑到我可以使用ngModelChange事件将值更新为大写.)
那么转换ngControl使用的值的最佳和低成本方法是什么?
确保在 Angular8 文本框中输入的任何输入均为大写的正确方法是什么?
我尝试将样式应用于输入标签
文本转换:大写
,但看起来虽然输入框中输入的文本外观是大写的,但实际存储在
[(ng模型)]
不以大写形式显示为大写。
<input #input (input)="input.value=$event.target.value.toUpperCase()">
Run Code Online (Sandbox Code Playgroud)
<input oninput="this.value = this.value.toUpperCase()">
Run Code Online (Sandbox Code Playgroud)
但不是我的用例,因为我不想复制我的 html 标签,因为我在这个领域有很多配置,这会导致重复的代码,我只能修改一个输入标签而不是另一个,并引入一个错误。 ...因此,我不想使用这个:
<input *ngIf="uppercase" oninput="this.value = this.value.toUpperCase()">
<input *ngIf="!uppercase">
Run Code Online (Sandbox Code Playgroud)
我会使用这样的东西(但这当然不起作用):
<input oninput="if ({{this.uppercase}}) { this.value = this.value.toUpperCase();} ">
Run Code Online (Sandbox Code Playgroud)