我有一个文本框,如下所示:
<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()函数中从数据库读取的数据填充了文本框。 显然,验证者没有意识到它的价值,因此要求我填写它。我应该如何修改验证器以实现价值?我已经使用了以下内容:
'has-success': (!dataProcessingEditForm.controls.Title.errors || dataProcessingEditForm.controls.Title.hasValue )
但似乎不起作用。 在此先感谢您的帮助。
答案 0 :(得分: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>