Kendo UI 上的 Angular DatePicker 验证不起作用

2024-01-12

我正在尝试在 Angular DatePicker 的 Kendo UI 上使用表单验证,但它似乎不起作用。

我正在对所有其他表单元素执行以下操作:

<div class="form-group row" [ngClass]="{ 'has-danger' : email.invalid && (email.dirty || email.touched) }">
    <input id="email" type="text" class="form-control" [(ngModel)]="member.email" name="email" #email="ngModel" required />
</div>

这工作得很好。

但是当我尝试使用 Angular DatePicker 的 Kendo UI 进行相同操作时,出现以下错误:

<div class="form-group row" [ngClass]="{ 'has-danger' : geburtsdatum.invalid && (geburtsdatum.dirty || geburtsdatum.touched) }">
    <kendo-datepicker
      id="geburtsdatum"
      [format]="'dd.MM.yyyy'"
      [(value)]="mitglied.geburtsdatum"
      #geburtsdatum="ngModel"
      required>
    </kendo-datepicker>
</div>

现在我收到错误:

There is no directive with "exportAs" set to "ngModel".

我似乎无法找到一种方法以简单的方式验证 Angular 表单元素的 Kendo UI。


The exportAs https://angular.io/api/core/Directive#description定义将导出组件/指令的名称。在这种情况下,您想要导出ngModel,它不存在于组件声明中。解决方案很简单 - 只需使用[(ngModel)]代替[(value)]捆绑。因此 Angular 将能够选择 NgModel 实例并将其导出:

<kendo-datepicker
  id="geburtsdatum"
  [format]="'dd.MM.yyyy'"
  [(ngModel)]="mitglied.geburtsdatum"
  #geburtsdatum="ngModel"
  required>
</kendo-datepicker>

检查 Angular Form 文档以获取更多详细信息,以及如何正确显示/隐藏验证错误。

https://angular.io/guide/forms#show-and-hide-validation-error-messages https://angular.io/guide/forms#show-and-hide-validation-error-messages

[TL;DR]

DatePicker 组件实现了控制值访问器 https://angular.io/api/forms/ControlValueAccessor接口,这使其成为完全兼容 Angular 表单组件。角形另一方面,验证有效 https://github.com/angular/angular/blob/54e02449549448ebab6f255f2da0b4396665c6f0/packages/forms/src/validators.ts反对抽象控制 https://angular.io/api/forms/AbstractControl实例(基本上是 NgModel 或 FormControl 指令)。

考虑到这一点,为了使验证正常工作,您需要使用 [ngModel] 或 [formControl|formControlName] 装饰组件:

<kendo-datepicker
       name="birthDate"
       [(ngModel)]="user.birthDate"
       [min]="min"
       [max]="max"
></kendo-datepicker>

这是一个演示这一点的工作演示:

https://plnkr.co/edit/seJ4jLg9WziemQtCVuxk?p=preview https://plnkr.co/edit/seJ4jLg9WziemQtCVuxk?p=preview

如需进一步阅读,请参阅 Angular Form 文档:

https://angular.io/guide/user-input https://angular.io/guide/user-input

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Kendo UI 上的 Angular DatePicker 验证不起作用 的相关文章

  • 自定义日期选择器对话框

    目前 我正在使用经过修改的本机对话框来隐藏日期微调器 并且工作正常 但现在我想以这样的格式设置日期 当我旋转月份微调器或年份微调器时 对话框仅显示月份和年份而不是完整的日历日期 我的日期选择器对话框的自定义代码如下 Override pro
  • 模板内的 MVC 助手

    我正在尝试在模板中使用 kendo MVC 助手 远程模板文件加载如下 http docs kendoui c om howto load templates external files remote templates http doc
  • 如何刷新 Kendo UI 网格

    我正在尝试刷新 Kendo UI 网格 但尚未成功 有人可以告诉我我错过了什么或我做错了什么吗 我有以下代码 cshtml btnRefresh click function e ajax type POST url Url Content
  • 如何更改 Kendo 警报标题?

    我正在使用 Kendo 警报并想更改其标题 默认标题是 url 名称 请参阅下面的链接 图片 我想使用自己的标题 如何更改 图像剑道警报 https i stack imgur com AscDa png 剑道警报 kendo alert
  • 无法添加日期选择器选项?

    我有一个表单 它动态创建一个带有几个表单输入的新行 其中一个输入附有一个日期选择器 我刚刚在这里的帮助下成功完成了这项工作 除了还剩下一个问题 当我想向日期选择器添加选项时 它就会停止工作 工作小提琴 http jsfiddle net H
  • 如何检测浏览器的输入格式[type=date]

    使用 Javascript 如何检测日期输入字段 input type date 中的日期格式 类似的工具现代化 http modernizr com docs 仅检测使用 HTML5 日期选择器的功能 特别适合移动设备及其用于选择日期的
  • Kendo 可排序:无法编辑可排序表内的文本输入

    我有以下可排序表 其中包含可排序行 http demos telerik com kendo ui sortable events http demos telerik com kendo ui sortable events tbody
  • 如何使用脚本显示 Kendo Grid 的列菜单

    Kendo Grid 有一个非常漂亮的列上下文菜单 又名 columnMenu 您可以通过右键单击每个列标题来访问它 通过将 Kendo Grid 中的字段设置为以下内容来启用该菜单 列菜单 true 启用 columnMenu 后 它会在
  • React-Datepicker MomentJS 无效日期

    我正在使用 React Datepicker 和 MomentJS 但是当我想使用 Moment 设置开始日期时 该值在日期选择器字段中给出无效日期 当我在控制台中记录 this state startDate 时 控制台显示以下内容 开始
  • Kendo 网格列宽度 + 可滚动

    我正在尝试从 JavaScript 绑定到可滚动剑道网格 但在列宽方面遇到了一些问题 这fiddle http jsfiddle net mnTGm 1 演示了问题 问题末尾的代码 我在 html 中指定标头并向其中一个标头添加宽度 然后
  • 使用属性设置 kendo-ui-angular2 网格日期列的格式

    想知道是否可以使用属性来格式化列中的日期 例如
  • React Datepicker(无法获取输入值)

    我是反应新手 我需要使用反应日期选择器 https github com Hacker0x01 react datepicker 当我更改日期时 我想获取输入的值 如果我点击 2017 年 10 月 20 日 我想将 2017 年 10 月
  • 在剑道网格中显示动态图像

    我想在剑道网格中填充动态图像 我正在获取 json 数据 我有以下代码 var grid timeSegmentGrid kendoGrid var icon dataSource transport read function optio
  • 是否可以为 Kendo DatePicker(日历)设置方向?

    我在表单底部有一个日历输入 当用户单击它时 日历会在输入创建滚动条的下方弹出 有什么方法可以设置 DatePicker 打开的方向吗 例如 左 右 上 这是我的代码 dpBirthDate kendoDatePicker Thanks 是和
  • Kendo 模块和 RequireJS (r.js) 表现不佳。 (加载时出错)

    我在用Kendo UI版本2013 1 514 and RequireJS r js版本2 1 6 我的项目在标准下完美运行RequireJS按需加载 但是 当我尝试使用优化器时 任何 Kendo 都不会加载 包括其中任何一个都会引起著名和
  • AngularUI Datepicker动态日期禁用

    我正在使用 AngularUI 日期选择器 我有两个相互影响的日期选择器 例如 一个是 开始日期 另一个是 结束日期 我不想为两个日期选择器创建验证 而是想消除无效日期的选项 即结束日期早于开始日期 反之亦然 有没有办法在选择日期时重新 触
  • 如何在 React 中正确捕获 Materialize-CSS datepicker 值?

    我希望创建一个带有日期选择器 https materializecss com pickers html在我的 React 组件中物化CSS https materializecss com 该表单捕获的字段不多 而且结构相当简单 返回的表
  • 如何在 Angular 4 中检查父组件中子组件表单的有效性

    我有一个场景 我正在访问两个不同的 NgForm 一个在父表单 parentform 中 另一个在子组件 childForm 中 并且我想检查子表单控件的有效性 无论在父组件表单中是否有效 如何在 Angular4 中做到这一点 我也点击了
  • 从 Angular-ui 引导日期选择器中删除周列和按钮

    我在用Angular UI Bootstrap 日期选择器 http angular ui github io bootstrap datepicker 现在我需要从日期选择器中删除 week 列和周按钮 我的应用程序的多种形式都使用了这个
  • MUI DatePicker + date-fns 本地化问题

    当我使用MUI时出现这个问题日期选择器 with 本地化提供商 and 适配器日期Fns with 匈牙利 local

随机推荐

  • 如何使用 LINQ 将 List 与数据库表进行比较

    我有一个电话号码列表 我试图将其与数据库表中的相应记录连接起来 并获取订单号和客户 ID 此外 该列表将整个号码作为一个字符串 而数据库将其分解为区号 前缀 号码 每个都作为单独的字段 我对 LINQ 相当陌生 所以这超出了我目前的了解 非
  • 你可以使用集会 API 发送电子邮件通知吗?

    我正在构建一个自定义拉力应用程序 我需要从中发送电子邮件通知 有没有办法使用 Rally API 发送电子邮件 所以我不必使用像 Mandrill 或 Mailjet 这样的第三方服务 谢谢 无法通过 Rally API 来执行此操作
  • sqlite3 Nodejs从表中获取值

    我的 db js 中有 getName 函数 function getName uid db all SELECT name FROM table WHERE uid function err if err console log err
  • 使用 VB.NET 将父节点添加到已存在的 XML 文件中

    我有如下 XML
  • 作为期限或值计算结果的返回类型

    我试图很好地掌握种类 类型和术语 或值 不确定哪个是正确的 以及用于操作它们的 GHC 扩展 我知道我们可以使用 TypeFamilies 来编写带有类型的函数 现在我们还可以使用 DataKinds PolyKinds 等在某种程度上操作
  • 如果我想在 React 中使用像 AOS 这样的 javascript 库,该怎么做?

    我想使用 JavaScript 库 AOS https michalsnik github io aos https michalsnik github io aos 在我的 React 应用程序中 如何将其包含在我的 App js 文件中
  • javascript多维对象

    我正在尝试使用以下代码在 JavaScript 中定义一个多维对象 function A one two this one one this inner two two A prototype one undefined inner two
  • 同一页面上有两个 jQuery 版本

    是否可以在同一个文档中拥有 2 个不同的 jQuery 版本 并且让它们不会相互冲突 例如 如果我创建一个小书签并希望将代码基于 jQuery 这个小书签被注入到使用另一个版本的 jQuery 的某个页面上 然后我的代码将覆盖该页面上使用的
  • HTML5 浏览器兼容性图表 - 旧浏览器中的 HTML5?

    我刚刚开始考虑在 Rails JQuery 项目中使用 HTML 5 api 所以我可以使用这个很棒的data 属性 http ejohn org blog html 5 data attributes 来存储值 但我担心浏览器兼容性问题
  • HTML5 异步属性对脚本元素到底有什么好处?

    我对 HTML5 中 script 元素的新 async 属性有些困惑 希望有人能给出明确的答案 浏览器能够并行连接 因此图像将并行下载 但任何外部 javascript 都不会与其他外部 javascript 和图像并行下载 脚本会阻止页
  • 如何使用 URL 调用 Web 服务并传递参数

    如何使用 URL 调用 ASP NET Web 服务并传递参数 例如 服务的 URL 类似于 http localhost 31856 MySystem MyAPI asmx op getHeight 我需要传递两个参数a和b 我尝试过 h
  • Android Studio 布局编辑器不显示任何建议

    我创建了新的 XML 文件temp xml 当我尝试在其中添加文本视图时 没有向我显示任何建议 当我单击 TextView 时 添加的 TextView 没有正文 然后我从其他文件复制粘贴一些代码 并尝试向 TextView 编辑器提供大小
  • 加载规则“jsx-a11y/alt-text”时出错:rule.create 不是函数

    我刚刚用过npx create react app my app启动一个项目并在运行时npm start我收到这个编译错误 Error while loading rule jsx a11y alt text rule create is
  • UTF8 到 php 中的等效数字

    我一直在寻找我的 试图找到一个 PHP 函数来将 UTF8 转换为等效的数字 我不完全确定如何称呼这个数字 我听说它被称为纵坐标 但这里有一个例子 http jrgraphix net r Unicode 3040 309F http jr
  • 继承最派生类型的抽象类

    不幸的是 我找不到导致我提出这个问题的原始项目 这也许会给这个问题更多的背景 EDIT 我找到了我在其中看到的原始项目 http mews codeplex com SourceControl changeset view 63120 10
  • SAP Hana 开发中的 OData 与 XSJS

    我正在使用 SAP Hana studio 开发一个应用程序 我对为什么要使用 XSODATA 以及为什么要使用 XSJS 感到困惑 为什么我不能仅使用 XSODATA 文件来执行所有数据库事务 我知道 XSJS 是服务器端的 但如果我正在
  • HQL“包含”声明如何?

    我有一个实体 它有一个名为 标签 的字符串属性 我想根据某个字符串是否位于 Tags 属性中来查询该实体 例如 我有一个函数 IList GetEntityByTag string tag 这将返回 Tags 属性中具有标签值的所有实体 我
  • github markdown colspan

    有没有办法有 colspan on github 降价 我正在尝试创建一个表格 其中一行占据四列 One Two Three Four One Two Three Four One Two Three Four
  • 使用 linq 解析样式属性集合

    我想解析 SVG 样式属性 它只是一个分隔字符串 例如 填充 e2b126 描边 010101 描边宽度 0 3177 描边斜接限制 10 into a Dictionary
  • Kendo UI 上的 Angular DatePicker 验证不起作用

    我正在尝试在 Angular DatePicker 的 Kendo UI 上使用表单验证 但它似乎不起作用 我正在对所有其他表单元素执行以下操作 div class form group row div