Aurelia 验证:对同一属性应用一些关于更改的规则和一些关于模糊的规则

2024-05-02

我有一个值的输入字段,该值应该正好有 5 位数字。我想在立即输入数字以外的字符(onChange)时显示错误,但仅在模糊时显示字符串长度不足的错误。

我的规则目前看起来是这样的:

ValidationRules
    .ensure("myInput")
    .matches(new RegExp(/[0-9]/))
    .minLength(5)
    .on(this);

MaxLength是通过在html中设置maxlength来限制的。

如果我将验证触发器设置为“onChange”以立即响应错误字符,我还会收到一条错误消息,表明在输入正确的数字时不满足 minLength 规则,直到输入了 5 个数字为止。

我想要的行为是应用 matches-rule onChange 和 minLength-rule onBlur。

是否有可能在不同事件的同一财产上应用两条规则?我知道如何手动验证,但我不知道如何区分规则。


您可以使用when流畅的API来满足您的需求。像这样的东西 -

ValidationRules
  .ensure('email')
    .email()
    .required()
      .when((order) => {
        if (order.length > 4) {
          order._ruleHasBeenMet = true;
        }
        return order.length > 4 && order._ruleHasBeenMet;
      }
      .withMessage('Email is required when shipment notifications have been requested.');
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Aurelia 验证:对同一属性应用一些关于更改的规则和一些关于模糊的规则 的相关文章

  • Aurelia CLI & TypeScript & MomentJS

    我没有让 Aurelia CLI 和 TypeScript 和 MomentJS 一起工作 我已经看到了 Aurelia 和 Moment 问题的解决方案 但他们不使用 Aurelia CLI 这就是我现在正在做的事情 使用 Aurelia
  • ES6 和 Promise 内的变量作用域

    不知道我在这里缺少什么 我需要得到的输出data into this contact 现在 我正在使用静态类变量 但必须这样做似乎很脏 export class contactEdit static t static class var c
  • 创建在 Aurelia 中使用依赖注入的类的新实例

    我想创建一个能够创建使用依赖注入的类 MyClass 实现抽象类 的新实例的工厂 我希望工厂看起来像这样 Factory export class Factory public static makeMyClass return new M
  • 在 Aurelia 中,槽可以用于重复绑定吗?

    我想创建一个循环遍历数组并将其应用于数组中的每个项目的自定义元素 例如 自定义元素的视图模板将包含类似以下内容的内容 div div div div
  • aurelia-fetch-client 动态创建请求标头

    我正在使用 aurelia fetch client 将一些数据发送到 web api 在注册方法中 headers Headers register this headers new Headers this headers append
  • 使用 Webpack 在 Aurelia 中添加模块依赖项

    我刚刚开始使用Aurelia Webpack 骨架 https github com aurelia skeleton navigation tree master skeleton es2016 webpack并尝试简单地添加一个新的依赖
  • Promise 回调中的单元测试逻辑

    我有一个 ES6 Aurelia 应用程序 我正在使用 jasmine 来测试 我试图测试的方法看起来像这样 update let vm this vm getData then response gt vm processData res
  • 将属性从视图模型绑定到 Aurelia 中的自定义元素

    UPDATE 其他人报告说这个样本对他们来说效果很好 听起来好像我做错了什么 但我不再有代码 所以我无法检查问题出在哪里 原问题 我有以下自定义元素以及以下视图模型和视图 import bindable from aurelia frame
  • Aurelia 中 fetch() 的错误处理

    我有一个 API 其中包含服务器引发错误 状态 500 时出现的问题的有用描述 该描述作为响应文本的一部分 我的客户端代码使用 Aurelia 通过以下方式调用 apiaurelia fetch client使用通用方法进行调用 funct
  • Reflect.getOwnMetadata 不是具有 karma-typescript 的函数

    我正在尝试进行单元测试 使用 Karma Jasmine 业力打字稿 https www npmjs com package karma typescript 我的 TypeScript 项目 项目结构如下 root src ts all
  • 尝试加载瞬态 Web Worker 时出现“Reflect.defineMetadata”错误

    我正在尝试从 Web Worker 内部加载 aurelia 框架 以便将 Worker 装饰为瞬态 这是工人装载机 importScripts jspm packages system js System config defaultJS
  • 部署 aurelia.cli 构建的应用程序

    我已经构建了一个没有后端的简单 aurelia 网页 现在我有兴趣投入生产 我使用 Aurelia cli 进行捆绑 希望这会很简单 但我不确定如何继续 我应该将哪些文件上传到服务器才能使网站正常运行 谢谢您的帮助 简而言之 au buil
  • 使用相对导入路径时 Aurelia 捆绑失败

    我将 aurelia 与 typescript 一起使用 我想避免使用相对导入路径 例如 import DialogBox from resources elements dialog box 反而 import DialogBox fro
  • 解决 VS 2017 中的“节点定义冲突”TS4090 错误

    我有一个可以构建并运行的 TypeScript 项目 但我有大量构建错误 这些错误似乎都源于一个错误 TS4090 TS 在 C projectpath node modules types node index d ts 和 C Micr
  • Aurelia:创建嵌套/多级导航菜单的简单方法

    我需要创建一个多级导航菜单 菜单的内容根据用户的不同而不同 我计划通过一个以 JSON 形式返回数据的服务来提取可包含子项数组的导航项集合 我见过的每个导航 路由示例都使用静态路由或单级菜单 我已经阅读了一些有关子路由的内容 但这似乎不是我
  • 发布版本和 CLI 出现 aurelia-dialog 错误

    我在使用新的 aurelai 版本时遇到问题 我使用以下命令创建了一个新应用程序 au new myApp 我通过 npm 安装了 aurelia dialog 当我导入 aurelia dialog 并尝试使用运行应用程序时 au run
  • Aurelia 验证:对同一属性应用一些关于更改的规则和一些关于模糊的规则

    我有一个值的输入字段 该值应该正好有 5 位数字 我想在立即输入数字以外的字符 onChange 时显示错误 但仅在模糊时显示字符串长度不足的错误 我的规则目前看起来是这样的 ValidationRules ensure myInput m
  • Aurelia - 仅 HTML 自定义元素的内联定义

    我的 Aurelia 视图模型中有一个递归对象 如下所示 Class BottomlessPit Name string MorePits BottomlessPit null 因此 我想在 Aurelia 视图中使用递归模板 它只会在一个
  • Aurelia 以 PHP 传递的参数开头

    我需要在开始时将参数传递给 Aurelia 根据传递的值 应用程序将具有不同的状态 该应用程序被注入到使用 PHP 构建的页面上 因此最好的方法是使用 PHP 代码指定的参数启动它 有什么办法可以做到这一点吗 您可以在普通 JS 中访问的任
  • 强制执行 show.bind

    我有一个包含数据的表 当从另一个视图触发事件时 我希望视图检查 show bind 语句 问题是该事件没有更改当前视图中的任何数据 foo html tr p canBeRemoved p tr 我正在使用 EventAggregator

随机推荐