介绍
reformer 是一个 npm 包,用于前端表单数据的转换与校验。它提供了一个可扩展的机制来进行数据转换和校验,并支持异步操作。使用 reformer 可以有效地提高前端表单信息的处理效率和准确性。
安装
可以通过 npm 在项目中安装 reformer:
--- ------- -------- ------
使用
基本使用
reformer 的基本使用方法如下:
------ - -------------- - ---- ---------- ----- -------- - ---------------- ----- - --------- ----- ----- --------- ---------- -- -- ---- - --------- ----- ----- --------- ---- --- ---- -- - --- ----- ---- - - ----- ------ ---- -- -- ----- ------ - ------------------------- --------------------
运行上述代码会输出转换后的数据:
- ----- ------ ---- -- -
在上述代码中,首先需要创建 reformer 实例,并定义了需要校验的字段及其校验规则(这里的规则与 Joi 的规则类似)。
然后,我们通过调用 transform
方法来进行转换。如果传入的数据符合定义的规则,则会返回转换后的数据;否则会抛出一个错误。在上述代码中,由于数据符合规则,因此输出了原始数据。
异步校验
reformer 还支持异步校验,使用方法如下:
------ - -------------- - ---- ---------- ----- -------- - ---------------- ------ - --------- ----- ----- ------- -- --------- - --------- ----- ----- --------- ---------- - - --- ----- ---- - - ------ ------------------- --------- -------- -- -------- --------------- ------------ -- - ------------------- -- ------------ -- - -------------------- ---
在上述代码中,我们调用了 reformer 的 validate
方法来进行异步校验。如果校验成功,会返回一个包含校验结果的对象;否则会抛出一个错误。
自定义规则
reformer 还支持自定义规则,使用方法如下:
------ - -------------- - ---- ---------- ----- -------- - ---------------- ------ - --------- ----- ----- --------- ------- --- --------- - ------ ---- - - --- -- ------------ ------------------------- ------- -------- -- - -- ---------------------------------- - ------------------------------ - ----- -- - ------ ----- --- ----- ---- - - ------ ------------- -- ----- ------ - ------------------------- --------------------
在上述代码中,我们首先定义了一个名为 phone
的字段,并指定了 length
和 validate.phone
两个规则。其中,validate.phone
是自定义规则,用于判断手机号码是否合法。
接着,我们通过调用 addRule
方法来添加自定义规则。在上述代码中,我们通过正则表达式来验证手机号是否合法。如果不合法,则通过调用 helpers.error
方法来输出错误信息。
最后,我们调用 transform
方法来进行数据转换。由于手机号码符合规则,因此输出了原始数据。
总结
reformer 是一个前端表单数据处理工具,可用于数据转换、校验等操作。在使用 reformer 时,可以通过定义规则、添加自定义规则等方式来进行数据处理,从而提高工作效率和数据准确性。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/76264