【发布时间】:2019-07-15 10:10:51
【问题描述】:
我有一个模板驱动的表单。我需要添加自定义验证器,它将检测输入中的最大字符并显示错误消息,如果我们收到错误消息,则必须禁用按钮“确定”。我有 5-7 个输入,在代码示例中,我只提供 2 个来显示语法。
我尝试了 max-characters = 10,但该属性不允许输入超过 10 个字符。在我的情况下,用户可以输入任何他想要的字符(超过 10 个),但在他输入第 10 个字符后,它应该是错误消息并且按钮必须是已禁用。
不幸的是,我是模板驱动表单的新手,我的任务是只在模板表单中执行此操作。伙计们,有人可以向我解释使用输入和自定义验证器制作表单的最佳方法吗?任何帮助都会有所帮助。
<form
class="my_ex_form"
#myExForm="ngForm"
novalidate>
<div class="input">
<label class="required">One</label>
<input
ngxTrim='keyup'
required
#one="ngModel"
name="one"
maxlength="64"
[(ngModel)]="ex.name"
placeholder="Enter...">
<span *ngIf="one.value?.length >= 10" class="error-text">Max length 10 characters.</span>
</div>
<div class="input">
<label class="required">Two</label>
<input
ngxTrim='keyup'
required
#two="ngModel"
name="two"
maxlength="10"
[(ngModel)]="ex.nameTest"
placeholder="Enter...">
<span *ngIf="two.value?.length >= 10" class="error-text">Max length 10 characters.</span>
</div>
<div>
<button
type="submit"
[disabled]="someOtherInputsValue || someOtherCheckboxesValue"
class="btn btn-short"
(click)="validate(myExForm)">
ok
</button>
</div>
</form>
【问题讨论】:
标签: angular forms validation