考虑以下形式,并为输入字段
设置一些验证器<form #userForm="ngForm" (ngSubmit)="onSubmit()" novalidate>
<div class="form-group">
<label for="userName">User Name</label>
<input type="text" class="form-control" [(ngModel)]="user.name" name="name" id="userName" required minlength="4" maxlength="24" #name="ngModel">
<div *ngIf="name.errors && (name.dirty || name.touched)" class="alert alert-danger">
<div [hidden]="!name.errors.required">
Name is required
</div>
<div [hidden]="!name.errors.minlength">
Name must be at least 4 characters long.
</div>
<div [hidden]="!name.errors.maxlength">
Name cannot be more than 24 characters long.
</div>
</div>
</div>
<button type="button" pButton icon="fa-check"
(click)="saveUser()" label="Save" [disabled]="!userForm.form.valid"></button>
</form>
此处验证消息正常运行。在Name
字段的许多页面中使用相同的控件,添加如上所述的验证器消息会使我的模板变大并复制代码。
如果我有另一个输入字段以相同/不同的形式获取Department name (Min:6 chars & Max:30 chars)
,我应该再次编写错误消息div部分。
是否有任何通用方法可以通过指定Required,Min,Max和amp;来编写一次Input组件。明确地模式化并在许多地方使用它。