什么是 npm 包 armor?
npm 包 armor 是一个轻量级的前端表单验证库,可以帮助开发者在前端完成表单数据的验证。它可以帮助开发者在客户端完成数据格式、长度、正则表达式等多种类型的验证工作,并提供友好的提示信息。
npm 包 armor 如何使用?
- 下载 npm 包 armor
npm install armor --save
- 引入 armor
import Armor from 'armor';
- 定义验证规则
-- -------------------- ---- ------- ----- ---- - - --------- - - --------- ----- -------- --------- -- - ---- --- -------- ------------ - -- --------- - - --------- ----- -------- -------- -- - ---- -- -------- ---------- -- - -------- ----------------------- -------- --------------------------- - -- ------ - - --------- ----- -------- -------- -- - -------- ------------------------------------------------------- -------- --------- - - --
- 定义表单数据
const formData = { username: '', password: '', email: '' };
- 调用 armor 进行验证
-- -------------------- ---- ------- ----- ----- - --- ------------ ------------------------ -------- ------- -- - -- -------- - -------------------- - ---- - -------------------- - ---
armor API
new Armor(rules: object)
创建一个 Armor 对象,参数 rules
是一个包含验证规则的对象。
armor.validate(data: object, callback: function)
对表单数据进行验证,参数 data
是包含表单数据的对象,callback
是验证完成后的回调函数,包含两个参数:
errors
,代表错误信息,如果没有错误则为null
。values
,代表验证通过后的表单数据。
armor 自定义提示信息
如果默认的提示信息不能满足需求,可以通过自定义提示信息来进行替换。
-- -------------------- ---- ------- --------------------- - - --------- ------- ---- ----- ------- --- ---- ----- ------- --- -------- ------- -- ----- ---- - - --------- - - --------- ---- -- - ---- -- - -- --------- - - --------- ---- -- - ---- - -- - -------- ---------------------- - -- ------ - - --------- ---- -- - -------- ------------------------------------------------------ - - --
armor 高级用法
同步验证
默认情况下 armor 是异步验证,可以通过 armor.validateSync(data: object)
方法来进行同步验证。
-- -------------------- ---- ------- ----- ----- - --- ------------ ----- ------ - ----------------------------- -- --------------- - --------------------------- - ---- - --------------------------- -
拓展验证规则
可以通过 Armor.addValidationRule(name: string, validator: function)
方法来自定义验证规则。
-- -------------------- ---- ------- -------------------------------- ------- -- - ------ ------------------------------------------------- --- ----- ---- - - --------- - - --------- ---- -- - ---- -- - -- --------- - - --------- ---- -- - ---- - -- - -------- ---------------------- - -- ------ - - --------- ---- -- - -------- ------------------------------------------------------ - -- ------ - - --------- ---- -- - ------ ---- - - --
过滤表单数据
可以通过 armor.filter(data: object)
方法来进行表单数据的过滤。
const armor = new Armor(rule); const data = armor.filter(formData);
armor 常见问题解决方法
armor 只能在 client 端使用,不能在 server 端使用。
armor 中的验证规则均为客户端验证,需要同时进行服务端验证。
armor 不支持异步验证,需要手动进行异步验证。
总结
npm 包 armor 是前端表单验证库的佼佼者,能够帮助前端开发者快速完成表单数据的验证,大大增加了前端开发效率。在使用时需要注意,不能作为唯一的数据验证手段,并需要进行服务端验证。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/80632