介绍
lomake 是一个基于 React 的表单构建工具,通过配置化的方式帮助开发者构建表单,避免手写大量的 HTML 和表单验证逻辑。lomake 支持多种输入类型,并提供了一些常用的校验规则。
安装
可以通过 npm 安装 lomake:
npm install lomake --save
使用
使用 lomake 构建表单,需要使用 Lomake
组件,并传入配置信息。配置信息包括表单元素组成、样式和事件处理等。
-- -------------------- ---- ------- ------ ------ ---- --------- ----- ---------- - - ------- - - ----- ------- ----- ----------- ------ ----------- --------- ---- -- - ----- ----------- ----- ----------- ------ ----------- --------- ----- ------------ - - ----- --------- ----- ----------------------------------------------- -------- --------- ---- ------- -- ----- - ----------- --------- ----- --- --------- ------- --- --------- - - -- - ----- ----------- ----- ------------- ------ --------- --- -- - ----- --------- ------ -------- - -- --------- ---------- -- - ---------------------- - -- -------- ----------- - ------ - ------- --------------- -- -- - ------ ------- ----------
API
Lomake
Lomake
是 lomake 的主要组件,用于构建表单。
属性名 | 类型 | 默认值 | 描述 |
---|---|---|---|
fields |
Array<{type, name, label}> |
[] |
表单元素列表 |
className |
string |
'' |
样式类名 |
onSubmit |
function |
提交表单时触发的回调函数 | |
validator |
function |
自定义校验函数,在表单提交前执行 |
fields
属性是一个数组,每个元素表示一个表单元素,包括以下属性:
属性名 | 类型 | 描述 |
---|---|---|
type |
string |
输入类型,如 text , password , checkbox , radio |
name |
string |
表单元素的名称 |
label |
string |
表单元素的文本描述 |
required |
boolean |
是否为必填项 |
validations |
Array<{type, rule, message}> |
校验规则列表 |
defaultValue |
any |
默认值 |
placeholder |
string |
输入框中的提示信息 |
wrapperClass |
string |
表单元素的样式类名 |
onSubmit
属性是一个函数,在表单提交时触发。函数会接收一个参数,类型为 Record<string, any>
,即表单提交的数据。可以在函数中处理表单数据的验证和提交等逻辑。
validator
属性是一个函数,用于自定义校验表单数据。函数会接收一个参数,类型为 Record<string, any>
,即表单数据。函数需要返回一个 boolean
类型的值,表示校验是否通过。如果校验失败,可以在函数中抛出或返回错误信息。
text
, password
, checkbox
, radio
, select
, textarea
这些属性是 lomake 支持的表单元素类型。除了 checkbox
和 radio
外,都需要传入 name
和 label
属性。checkbox
和 radio
需要传入 options
属性。
以下是一些示例代码:
-- -------------------- ---- ------- ------- - - ----- ------- ----- ------- ------ ------- --------- ---- -- - ----- ----------- ----- ----------- ------ ----------- --------- ---- -- - ----- ----------- ----- ----------------- ------ --------- -------- -------- - - ------ -------- ------ ------- -- - ------ --------- ------ -------- -- - ------ --------- ------ -------- - - -- - ----- --------- ----- -------- ------ --------- ------- -------- - - ------ ----------- ------ ---------- -- - ------ ---------- ------ --------- -- - ------ ---------- ------ --------- - - -- - ----- ----------- ----- ---------- ------ ---------- ------------ ------ ---- ------- ----- - -
validations
validations
属性是校验规则列表,用于对表单元素进行逐条校验,该属性支持以下规则:
规则名 | 描述 |
---|---|
required |
必填项验证 |
regexp |
正则表达式验证 |
custom |
自定义验证函数 |
max |
最大值验证 |
min |
最小值验证 |
max-length |
最大长度验证 |
min-length |
最小长度验证 |
email |
邮箱格式验证 |
tel |
手机号格式验证 |
url |
url 格式验证 |
number |
数字类型验证 |
date |
日期格式验证 |
以下是一些示例代码:
-- -------------------- ---- ------- - ----- ------- ----- ------ ------ ------ ------------ - - ----- ----------- -------- ---- -- --------- -- - ----- --------- -------- ---- ---- -- - ------- -- - ----- ------ ----- --- -------- ---- ---- -- ------- ---- -- ----- -- --- -- - ----- ------ ----- ---- -------- ---- ---- -- ---- ---- -- ----- -- ---- - - -
总结
lomake 是一个优秀的表单构建工具,通过简单的配置即可生成常用的表单元素和校验规则,适用于快速开发和表单业务迭代。在使用过程中,可以根据业务需求扩展和定制校验规则,以支持更多的验证类型,提高表单验证的准确性。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60067357890c4f7277583cdc