简体   繁体   English

如何基于另一个 Datepicker 从 Angular 材料 Datepicker 验证日期

[英]How can I validate the Date from a Angular material Datepicker based on another Datepicker

I have 2 Angular Material Datepickers and want to implement the following validation: -The date of the first datepicker has to be the min-date of the 2nd one我有 2 个 Angular 材料日期选择器并希望实现以下验证:-第一个日期选择器的日期必须是第二个日期选择器的最小日期

Here are my datepickers这是我的日期选择器

<mat-form-field appearance="legacy" [style.width.%]="45">
  <mat-label>Phasenbeginn</mat-label>
  <input matInput  placeholder="Beginn" [matDatepicker]="picker" formControlName="pStart">
  <mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
  <mat-datepicker #picker></mat-datepicker>
</mat-form-field>                                   
          
<mat-form-field appearance="legacy" [style.width.%]="45">
  <mat-label>Phasenende</mat-label>
  <input matInput  placeholder="Ende" [matDatepicker]="picker2" formControlName="pEnd">
  <mat-datepicker-toggle matSuffix [for]="picker2"></mat-datepicker-toggle>
  <mat-datepicker #picker2></mat-datepicker>
 </mat-form-field>

On the material documentation they say, that you can add a "[min] = minDate" binding to the input, but I think this is only used for static dates, saved in a variable.在他们说的材料文档中,您可以将“[min] = minDate”绑定添加到输入,但我认为这仅用于 static 日期,保存在变量中。

I want to do something like this, on the 2nd picker我想做这样的事情,在第二个选择器上

<input matInput [min]="picker.value" placeholder="Ende" [matDatepicker]="picker2" formControlName="pEnd">

Before attempting a custom validator, you should be able to do this with a property binding to the [min] property.在尝试自定义验证器之前,您应该能够使用绑定到[min]属性的属性来执行此操作。 Try this:尝试这个:

<mat-form-field appearance="legacy" [style.width.%]="45">
  <mat-label>Phasenbeginn</mat-label>
  <input matInput [max]="pEnd.value" placeholder="Beginn" [matDatepicker]="picker" formControlName="pStart">
  <mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
  <mat-datepicker #picker></mat-datepicker>
</mat-form-field>                                   
          
<mat-form-field appearance="legacy" [style.width.%]="45">
  <mat-label>Phasenende</mat-label>
  <input matInput [min]="pStart.value" placeholder="Ende" [matDatepicker]="picker2" formControlName="pEnd">
  <mat-datepicker-toggle matSuffix [for]="picker2"></mat-datepicker-toggle>
  <mat-datepicker #picker2></mat-datepicker>
 </mat-form-field>

The above code does assume that pStart and pEnd are properly implemented formControls in a formGroup.上面的代码确实假设pStartpEnd是在 formGroup 中正确实现的 formControls。 formControlName is not usable outside of a <form> with a defined [formGroup] . formControlName在具有已定义[formGroup]<form>之外不可用。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何更改角形材料日期选择器中的日期格式? - How can I change date format in angular material datepicker? 如何从角度材料日期选择器更改日期? - How to change the date from angular material datepicker? 我可以添加加速键以在 Angular 材料日期选择器字段中输入日期吗? - Can I add accelerators to enter a date in a Angular Material Datepicker field? 如何从Angular Material中删除日期选择器的默认日期选择? - How to remove default date selection of datepicker from Angular Material? 如何在 Angular Material Datepicker 中从今天的日期中移除焦点? - How to remove the focus from today's date in Angular Material Datepicker? Angular 8:如何设置 angular 材料日期选择器的时间? - Angular 8: How can I set time for angular material datepicker? 如何使用Datepicker在Angular 5应用中验证日期? - How to validate date in Angular 5 app using datepicker? 如何根据其他两个 Datepicker 字段在 Datepicker 字段上设置 Min 和 Max 值 - Angular Material - How do I set Min and Max values on a Datepicker field based on two other Datepicker fields - Angular Material 如何向 Angular Material datepicker 的所有实例添加指令? - How can I add a directive to all instances of Angular Material datepicker? Datepicker Material Angular:如何显示月份的全名? - Datepicker Material Angular: How can i display full name of the month?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM