如何指示需要 DevExtreme dx-date-box?

How do I indicate a DevExtreme dx-date-box is required?

到目前为止,我找到了这个相关答案:

这个据说有用的 AngularJS 示例:https://js.devexpress.com/Demos/WidgetsGallery/Demo/Validation/Overview/AngularJS/Light/

...但是 none 在 Angular 6 项目中对我有用。似乎没有我可以设置的dx-validator(或dxValidator)属性。我用过:

@ViewChild(DxDateBoxComponent) dateBox: DxDateBoxComponent;

...获取对日期框组件的引用,但我没有在我可以使用的对象或我可以设置的字段上找到任何方法来完成工作。无论 this.dataBox.validator 是什么,它都需要一堆我不知道如何定义的私有字段,所以我认为它与我在示例中看到的那种验证器没有任何关系看过了。

我终于找到了我正在寻找的答案。与我发现的示例不同,它看起来像这样:

<dx-date-box dx-validator="myValidatorRules"...

...没有 从 AngularJS 翻译成 Angular 像这样:

<dx-date-box [dx-validator]="myValidatorRules"...

...我需要的是添加 dx-validator 不是作为属性,而是作为嵌套组件:

<dx-date-box...>
  <dx-validator [validationRules]="myValidatorRules"></dx-validator>
</dx-date-box>

这样,将验证规则添加到 myValidatorRules 就像在我看到的示例代码中一样工作,在这种情况下需要规则 {type: 'required'}.