验证具有默认值的文本框

问题描述 投票:0回答:1

我有一个文本框如下:

  <div form="form-group">
    <label for="Title"> <h3>Title:</h3>  </label>
    <div [ngClass]="{
    'has-errors': (dataProcessingEditForm.controls.Title.errors && dataProcessingEditForm.controls.Title.dirty ),

    'has-success': (!dataProcessingEditForm.controls.Title.errors )
    }">
      <input type="text" name ="Title" class="form-control" autocomplete="off" placeholder="*Title"
             value="{{theDP.title}}" formControlName="Title">
      <!--Validations-->
      <ul class="help-block">
        <li *ngIf="(dataProcessingEditForm.controls.Title.errors?.required && dataProcessingEditForm.controls.Title.dirty)
                   ">
          This field is required</li>
      </ul>
    </div>
  </div>

文本框由我在ngOnInit()函数中从DB读取的数据填充。显然,验证者没有认识到它有价值,所以它要求我填写它。我应该如何修改validoator以实现该值?我使用了以下内容:

'has-success': (!dataProcessingEditForm.controls.Title.errors || dataProcessingEditForm.controls.Title.hasValue )

但似乎没有用。预先感谢您的帮助。

angular html5 mean-stack
1个回答
1
投票

只需用ngModel替换值

<div form="form-group">
    <label for="Title"> <h3>Title:</h3>  </label>
    <div [ngClass]="{
    'has-errors': (dataProcessingEditForm.controls.Title.errors && dataProcessingEditForm.controls.Title.dirty ),

    'has-success': (!dataProcessingEditForm.controls.Title.errors )
    }">
      <input type="text" name ="Title" class="form-control" autocomplete="off" placeholder="*Title"
             ngModel="theDP.title" formControlName="Title">
      <!--Validations-->
      <ul class="help-block">
        <li *ngIf="(dataProcessingEditForm.controls.Title.errors?.required && dataProcessingEditForm.controls.Title.dirty)
                   ">
          This field is required</li>
      </ul>
    </div>
  </div>
© www.soinside.com 2019 - 2024. All rights reserved.