@anypoint-web-components/validatable-mixin

中文文档
1.1.3发布于 2020/09/28Apache-2.0ESM + CJS近 30 天下载 3243

在 LitElement 组件中执行用户输入验证的组合

中文使用文档
文档目录8 节
  1. 无障碍
  2. 使用量
  3. 安装
  4. 使用 _getValidity() 函数
  5. 使用自定义验证符
  6. 发展
  7. 本地运行演示
  8. 运行测试

Published on NPM

Build Status

验证混合剂

一个混入,用于在LitElement组件中执行用户输入验证.

此验证表支持多个验证符 .

使用 ValidatableMixin 用于执行验证用户输入的元素。 使用相关的 ArcValidatorBehavior 将自定义验证逻辑添加到任何点输入或其他围绕本地输入的包装上.

要执行元素的自定义验证逻辑, 您必须覆盖受保护的 _getValidity() 这种混合方法,而不是 validate()。 。 。 .

无障碍

改变 invalid 属性,通过手动或呼叫 validate() 将更新 aria-invalid 属性.

使用量

安装

npm i @anypoint-web-components/validatable-mixin --save

使用 _getValidity() 函数

import { LitElement, html } from 'lit-element';
import { ValidatableMixin } from '@anypoint-web-components/validatable-mixin';

class InputValidatable extends ValidatableMixin(LitElement) {
  render() {
    return html`<input @input="${this._onInput}"/>`;
  }

  _onInput(e) {
    this.validate(e.target.value);
  }

  _getValidity(value) {
    return value.length >= 6;
  }
}
window.customElements.define('input-validatable', InputValidatable);

使用自定义验证符

<cats-only message="Only cats are allowed!"></cats-only>
<input-validatable validator="cats-only"></input-validatable>

<script>
import { LitElement } from 'lit-element';
import { ValidatorMixin } from '@anypoint-web-components/validator-mixin';
import { ValidatableMixin } from '@anypoint-web-components/validatable-mixin';

class CatsOnly extends ValidatorMixin(LitElement) {
  validate(value) {
    return value.match(/^(c|ca|cat|cats)?$/) !== null;
  }
}
window.customElements.define('cats-only', CatsOnly);

class InputValidatable extends ValidatableMixin(LitElement) {
  render() {
    return html`<input @input="${this._onInput}"/>`;
  }

  _onInput(e) {
    this.validate(e.target.value);
  }
}
window.customElements.define('input-validatable', InputValidatable);
</script>

发展

git clone https://github.com/anypoint-web-components/validator-mixins
cd validator-mixins
npm install

本地运行演示

npm start

运行测试

npm test

版本与发布记录

@anypoint-web-components/validatable-mixin 共发布 7 个版本,首次发布于 2019/06/24;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.1.3latest2020/09/286 年前
1.1.22020/09/226 年前
1.1.12020/05/156 年前
1.1.02020/05/156 年前
1.0.22019/09/047 年前
1.0.12019/08/017 年前

关于 @anypoint-web-components/validatable-mixin 的常见问题

@anypoint-web-components/validatable-mixin 是什么?

在 LitElement 组件中执行用户输入验证的组合

如何安装 @anypoint-web-components/validatable-mixin?

在项目目录运行 npm install @anypoint-web-components/validatable-mixin,或使用 pnpm add / yarn add / bun add。

@anypoint-web-components/validatable-mixin 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/anypoint-web-components__validatable-mixin 是否存在。

@anypoint-web-components/validatable-mixin 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@anypoint-web-components/validatable-mixin 可以商用吗?

@anypoint-web-components/validatable-mixin 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@anypoint-web-components/validatable-mixin 的下载量有多少?

根据 npm 官方下载统计,@anypoint-web-components/validatable-mixin 在 2026/10/06 – 2026/11/04 这 30 天内被下载 3,243 次,日均约 108 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@anypoint-web-components/validatable-mixin 还在维护吗?

最新版本 1.1.3 发布于 2020/09/28(6 年前);至今共发布 7 个版本,其中过去 12 个月发布了 0 个;首次发布于 2019/06/24。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。