spz-form 表单
何时使用
- 用于收集信息。
- 需要对输入的数据进行校验时。
组件是如何判断表单是spz-form?
表单的用法和原生的form一样,都是直接用<form>标签而不是<spz-form>标签,组件会根据<form>标签是否带有以下两个标识中的一个来判断是否将当前表单作为spz-form:
- 带有
is="spz-form"属性 - 带有
action-xhr属性
代码演示
基本用法
最基本的用法,在表单内控件的使用与原生的 form 表单用法一致。
错误信息
展示错误信息。当报告表单有错误信息时,会去找带有 validation-for 和 visible-when-invalid 属性的元素,且 validation-for 的值与控件的ID一致,visible-when-invalid 的值与无效的校验状态一致时,会移除当前元素的 hidden 属性,并加上 visible 类。
校验状态
属性
initial-xhr 支持类型
custom-validation 可选值
show-all-on-submit
在点击提交表单按钮后请求接口前,会去校验所有控件的值是否有效,如果有校验不符合的,报告所有校验不符合的信息。当控件的值校验不符合后,用户输入/选择符合的值后,控件会被报告有效。
show-first-on-submit
在点击提交表单按钮后请求接口前,会去校验所有控件的值是否有效,如果有校验不符合的,报告第一个校验不符合的信息。当控件的值校验不符合后,用户输入/选择符合的值后,控件会被报告有效。
input-interact-and-submit
- 当用户正在输入时,会实时去校验当前控件的值是否有效。如果无效,实时报告校验不符合的信息。
- 当点击提交表单按钮后请求接口前,会去校验所有控件的值是否有效,如果有校验不符合的,报告所有校验不符合的信息。
change-interact-and-submit
- 当用户输入完成后,会去校验当前控制的值是否有效。如果无效,报告校验不符合的信息。
- 当点击提交表单按钮后请求接口前,会去校验所有控件的值是否有效,如果有校验不符合的,报告所有校验不符合的信息。
change-interact-and-first-submit
- 当用户输入完成后,会去校验当前控制的值是否有效。如果无效,报告校验不符合的信息。
- 当点击提交表单按钮后请求接口前,会去校验所有控件的值是否有效,如果有校验不符合的,报告第一个校验不符合的信息。
current-input-interact-and-first-submit
- 当用户正在输入时,会实时去校验当前控件的值是否有效。如果无效,实时报告校验不符合的信息。
- 当点击提交表单按钮后请求接口前,会去校验所有控件的值是否有效,如果有校验不符合的,报告第一个校验不符合的信息。
方法
init
重新初始化表单默认数据。
submit
提交表单。
clear
将表单中的所有输入重置为其初始值,不需要参数。
insert
更新某个表单控件的值。
focus
给表单的第一个带有 autofocus 属性的元素获得焦点,不需要参数。
check
重新校验表单,不需要参数。
事件
submitSuccess
当表单提交成功时该事件会自动触发。event 对象数据为 action-xhr 配置的URL接口返回的数据。
submitError
当表单提交失败时该事件会自动触发。event 对象数据为 action-xhr 配置的URL接口返回的数据。
valid
当表单校验有效时该事件会自动触发。
invalid
当表单校验无效时该事件会自动触发。
AI 摘要(LLM Ready)
- 组件标识:
spz-form - 用途一句话:表单组件,包含数据录入、校验。
- 可识别属性条目:22
- 可识别方法小节:6
- 可识别事件小节:4
- 关键属性名(Top):
is、action-xhr、initial-xhr、items、method、content-type - 关键方法名(Top):
init、submit、clear、insert、focus、check - 关键事件名(Top):
submitSuccess、submitError、valid、invalid - 阅读顺序建议:先看「何时使用」与「代码演示」,再核对属性/方法/事件。
- 关联文档:/guide/actions-and-events/ 、/guide/layouts/