javascript - 模板驱动的“起始日期”和“截止日期”表单验证

标签 javascript html angular

我正在尝试以模板驱动的形式添加对起始日期和截止日期控件的验证。我如何验证它们,例如“起始日期应该大于截止日期”,反之亦然。 另外,我正在考虑在我的应用程序中针对不同的日期和最新控件重复使用此验证。

最佳答案

创建一个接受两个表单控件的函数。比较日期,如果出现错误,请设置表单控件的错误:

compareDates(from: FormControl, to: FormControl) {
  const startDate: Date = ConvertYourFormValueToValidDate(from.value);
  const endDate: Date = ConvertYourFormValueToValidDate(to.value);

  if (startDate.getTime() > endDate.getTime()) {
    from.setErrors({ ...from.errors, 'aboveEnd': true });
  } else if (startDate.getTime() > endDate.getTime()) {
    to.setErrors({ ...to.errors, 'belowStart': true });
  }
}

关于javascript - 模板驱动的“起始日期”和“截止日期”表单验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51927874/

相关文章:

javascript - 如何使这个轮播正常工作?

javascript - 如何创建 div 的数组结构我匹配的 div id 与 data-id(其他子 div 的 id)?

css - Angular 2 : How to limit the number of search results in ng2-completer?

javascript - 如何减少setTimeOut中 'current'的时间?

javascript - 如何检测网站中是否存在鼠标?

html - 为什么 CSS 不恰好将 n 个方 block 放入一个 div 容器中?

html - 选择图像时显示/隐藏按钮

Angular 6 HttpInterceptor 接口(interface)在生产中失败

javascript - 使用键盘导航处理两个 div。

javascript - 用于匹配错误和相关几行的正则表达式