我正在使用基于模板的表单来添加任务,其中有2个类型为数字的输入字段以估计完成任务所需的时间(分钟):
- 一个字段用于估计小时数,
- 另一个字段用于估计分钟数。
由于任务估计可以用小时表示,例如1小时,也可以用小时和分钟表示,例如1小时30分钟,因此我想有条件地将属性required设置为输入。 因此,无论哪个输入都必须设置,如果在提交表单时两个输入都为空,则会出现表单验证错误。
到目前为止,我已经做到了这一点,但是验证不起作用。
<form class="add-task" (ngSubmit)="onSubmit(newtask)" #newtask="ngForm">
<div class="estimate-container">
<input
type="number"
min="0"
max="10"
id="estimate_hrs"
ngModel
name="estimate_hrs"
mdInput
[required]="!estimateMins.valid"
placeholder="Estimated Hours"
#estimateHrs="ngModel"
>
<div class="error-msg" *ngIf="!estimateHrs.valid && !estimateMins.valid">
Please enter estimated hours
</div>
<input
type="number"
min="0"
max="60"
id="estimate_min"
ngModel
name="estimate_min"
mdInput
[required]="!estimateHrs.valid"
placeholder="Estimated Minutes"
#estimateMins="ngModel"
>
<div class="error-msg" *ngIf="!estimateMins.valid && !estimateHrs.valid">
Please enter estimated minutes
</div>
</div>
<button type='submit' [disabled]="!newtask.valid" >Submit</button>
</form>