You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular中ejs-timepicker首次输入始终无法通过required校验

Angular Syncfusion Timepicker 首次输入无法通过必填校验问题

背景

在Angular项目中使用ejs-timepicker组件,该组件属于@syncfusion/ej2-angular-calendars库,使用版本为"@syncfusion/ej2-angular-calendars": "19.1.55"。

问题

首次在该字段中输入时间时,始终无法通过必填(required)校验,字段保持无效状态。打印控件所有错误仅输出“required”,说明这是唯一的校验问题。值得注意的是,即使字段已被修改,仍保留ng-pristine类。清空输入框后重新输入时间,校验即可通过。刷新页面后该规律依然存在:若此前清空过一次,刷新后输入可正常通过校验,否则仍会失败。查阅了大量相关资料,也尝试手动设置$setDirty等属性,但问题仍未解决。

代码/截图

HTML代码

<div class="container-row">
  <div class="form-item" *ngIf="form.get('startTime') as control">
    <ejs-timepicker
      formControlName="startTime"
      placeholder="Start Time"
      floatLabelType="Auto"
      cssClass="e-outline"
      [class.e-error]="control.invalid"
    ></ejs-timepicker>
    <div *ngIf="control.invalid && (control.dirty || control.touched)" class="e-error">
      <div *ngFor="let err of getErrorList(control.errors)">{{err.message}}</div>
      <div *ngIf="control.errors.required">Start Time is required.</div>
    </div>
  </div>

TS表单构建代码

form = this.formBuilder.group({
  //其他字段
  startTime: [null, AppValidators.required],
  endTime: [null, AppValidators.required],
});

视图中的错误

视图中的错误

内容的提问来源于stack exchange,提问作者Serus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 14:24:16