恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

「详解」看界面控件DevExtreme如何实现异步验证

  • 首页
  • 资讯中心
  • /
  • 「详解」看界面控件DevExtreme如何实现异步验证

相关资讯

macOS系统声音录制工具DesktopAudio:从虚拟声卡到批量录制全指南 2026/8/26 13:37:05
macOS系统声音录制指南:从虚拟声卡到ffmpeg实践 2026/8/26 13:37:05
Mac内录系统声音:原理、虚拟声卡与FFmpeg实操 2026/8/26 13:37:05

最新资讯

如何用Python实现基于LSTM的时序数据预测并可视化结果?
营收大增、亏损收窄,Robotaxi成小马智行增长新引擎
藏在MemoWise源码里的10个Ruby冷僻技巧:单例类、private_constant与attached_object寻宝图
赣州刑事案件处理能手律师大盘点!快来了解!
如何看穿LiteFlowNet光流估计生效的秘密?f-lconv局部卷积与Charbonnier损失全解
灰度演化函数 GEF 在 AI 工程落地:消解模型循环与幻觉

今日推荐

Python random 模块常用函数详解:从入门到实战
Hermes接入团队协作后,我推翻了三个效率假设
免费AI大模型调教指南:打造专属网文写作助手

本周热门

Nextcloud 桌面客户端:把同步交给它,你只管改文件
如何将 HTML 转成 Word 文档且格式不丢失?html-to-docx 使用教程
Anki 批量操作卡片完整指南:一次搞定上千张,不再逐张修改

本月精选

如何用DamaiHelper实现演唱会门票的智能自动化抢购:完整技术解决方案指南
第4篇:59 倍性能差距的索引瓶颈定位——一次教科书级的全表扫描调优
终极歌词批量下载神器:5分钟解决离线音乐库歌词同步难题

「详解」看界面控件DevExtreme如何实现异步验证

发布时间:2026/8/26 13:37:05
「详解」看界面控件DevExtreme如何实现异步验证 DevExtreme拥有高性能的HTML5 / JavaScript小部件集合使您可以利用现代Web开发堆栈包括ReactAngularASP.NET CorejQueryKnockout等构建交互式的Web应用程序该套件附带功能齐全的数据网格、交互式图表小部件、数据编辑器等。DevExtreme新旧版本帮助文档下载可进QQ qun获取169725316现在可以使用异步验证规则在服务器上执行字段验证逻辑实现函数validationCallback来返回一个Promise(或者jQuery的等效函数)。下面是一个示例:$(#textBox).dxTextBox({ ... }) .dxValidator({ validationRules: [{ type: async, message: Invalid value, validationCallback: ({value}) new Promise((resolve, reject) { fetch(https://mydomain.com/validationService, { method: POST, body: JSON.stringify({ data: value }) }) .then(res { if (!res.ok) throw new Error(HTTP error: ${res.status} ${res.statusText}); // Assuming the server returns JSON return res.json(); }) .then(serverResult { // Server decided whether data is valid if (serverResult.dataIsValid) resolve(); else reject(serverResult.errorMessage); }) .catch(error { // Theres been a technical error. console.error(Server-side validation error, error); // Decide what to tell the user. reject(Cannot contact validation server); }); }); } }] });如果Promise被解析验证就成功如果Promise被拒绝验证就失败。然而还有一个选择您可以用一个像这样的对象来解析Promise{ isValid: false, message: Invalid value }DevExtreme目前支持这种场景允许您直接返回服务器结果不需要任何额外的逻辑。在这种情况下即使Promise被解析验证的成功或失败取决于isValid属性失败时将向用户显示可选消息。为了说明这个用例下面是一个短的示例:validationCallback(params) { return $.getJSON(https://mydomain.com/validationService, { data: params.value }); }注意如果不进行任何处理您可能会将技术错误作为验证消息显示给最终用户推荐考虑边界情况的更详细的算法如第一个示例所示。为了保持有效的验证总是首先评估任何同步规则只有在所有同步规则都通过时才评估异步规则。一旦异步验证开始所有这些规则都将被并行检查。ASP.NET Core ASP.NET MVC我们增加了对ASP.NET [Remote]属性在ASP.NET Core和ASP.NET MVC上启用异步验证您可以将此属性应用到模型的属性中传递控制器的名称和要调用的方法进行验证。[Remote(CheckEmailAddress, Validation)] public string Email { get; set; }该属性自动为 async 验证规则生成客户端代码回调服务器上运行的控制器控制器方法应该检查有效性[HttpPost] public IActionResult CheckEmailAddress(string email) { if (!_userRepository.VerifyEmail(email)) { return Json($Email {email} is already registered.); } return Json(true); }这段代码使用Microsoft文档中为.NET Core Remote属性定义的返回值。或者您也可以以上面描述的JSON格式返回有效性信息包括isValid和message字段这允许您在.NET Core中创建验证服务这些服务与为其他受支持的DevExtreme平台编写的客户端兼容。显式验证如果在Validator或ValidationGroup 上调用validate()并且有要检查的异步规则则需要使用ValidationResult.complete 属性提供的Promise接口来处理结果。const result validator.validate(); // OR validationGroup.validate(); result.complete.then(res { // res.status is valid if all rules passed // res.status is invalid if any rules failed if (res.status invalid) { // res.brokenRules contains an array of rules // that failed validation } });限制此时当您使用行、批处理或单元格编辑模式时数据网格和树列表小部件不支持异步规则。

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号