我有一个注册表,其中包含多个输入字段(用户名,电子邮件,密码,确认密码)。我在诸如最小长度和类似内容之类的字段上设置了一些表单控件,但由于某种原因,它适用于除用户名之外的所有字段。
这是用户名字段:
<div class="form-control-group">
<label class="label" for="input-name">Username:</label>
<input nbInput
[(ngModel)]="user.username"
#username="ngModel"
id="input-name"
name="username"
placeholder="Full name"
autofocus
fullWidth
[status]="email.dirty ? (email.invalid ? 'danger' : 'success') : ''"
[required]="getConfigValue('forms.validation.username.required')"
[minlength]="getConfigValue('forms.validation.username.minLength')"
[maxlength]="getConfigValue('forms.validation.username.maxLength')"
[attr.aria-invalid]="username.invalid && username.touched ? true : null">
<ng-container *ngIf="username.invalid && username.touched">
<p class="error-message" *ngIf="username.errors?.required">
Username is required!
</p>
<p class="error-message" *ngIf="username.errors?.minlength || username.errors?.maxlength">
Username should contains
from {{getConfigValue('forms.validation.username.minLength')}}
to {{getConfigValue('forms.validation.username.maxLength')}}
characters
</p>
</ng-container>
答案 0 :(得分:1)
blapaz在评论中回答了它,但看来您只需要更改模型绑定即可。目前,您有:
[(ngModel)]="user.username"
将其更改为:
[(ngModel)]="username"
应该解决您的问题