验证消息始终显示在 Angular5 中,即使文本框有一些值

Validation message always displayed in Angular5 even the textbox have some values

我正在使用 Angular5,Angular 的新手。

我有一个文本框,向该字段添加了验证。当文本框为空时它工作正常。但是在文本框中输入一些值后,验证消息仍然显示。如有不妥请帮忙

<form class="emp-form">  
  <div class="form-group">
    <label for="firstName">First Name</label>
      <input required ngModel name="firstName" id="firstName" class="form-control"  placeholder="First Name" #firstName="ngModel"/>
      <div class="alert alert-danger" *ngIf="!firstName.Valid">First Name is required</div>
    </div>
    </form>

这里名字是必需的即使在文本框中输入一些名字也总是显示。

提前致谢。

您可以尝试类似的方法:

<form [formGroup]="myForm" class="m-form m-form--fit m-form--label-align-right">
                <div class="form-group m-form__group row" [ngClass]="{
                    'has-danger': myForm.controls['firstName'].invalid && myForm.controls['firstName'].touched,
                    'has-success': myForm.controls['firstName'].valid && myForm.controls['firstName'].touched,
                    'has-no-action': myForm.controls['firstName'].untouched
                }">
                    <label class="col-form-label col-lg-3 col-sm-12" for="name-field">
                        First Name
                        <span class="required" aria-required="true"> * </span>
                    </label>
                    <div class="col-lg-4 col-md-9 col-sm-12">
                        <input type="text" class="form-control m-input" formControlName="firstName" name="firstName" id="name-field" placeholder="First Name">
                        <div class="form-control-feedback">Required Field May Not Be Empty</div>
                        <span class="m-form__help">Enter The User First Name</span>
                    </div>
               </div>
<form>

并在组件中:

this.myForm = this.formBuilder.group({
            "firstName": ['', Validators.required]
    });

无论 Fateme 提到什么都称为 Reactive Form 但您正在尝试验证简单的形式。

你的代码问题是 firstName.Valid 应该是 firstName.valid

有效的应该是驼峰式。