表单控制不适用于我的输入字段之一

时间:2019-05-23 15:22:11

标签: html angular

我有一个注册表,其中包含多个输入字段(用户名,电子邮件,密码,确认密码)。我在诸如最小长度和类似内容之类的字段上设置了一些表单控件,但由于某种原因,它适用于除用户名之外的所有字段。

这是用户名字段:

<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>

1 个答案:

答案 0 :(得分:1)

blapaz在评论中回答了它,但看来您只需要更改模型绑定即可。目前,您有:

[(ngModel)]="user.username"

将其更改为:

[(ngModel)]="username"

应该解决您的问题