<template>
<view>
<uni-forms ref="form" :modelValue="formData">
<uni-forms-item ref="input" name="age" >
<!-- input 的校验时机 -->
<input v-model="formData.age" @blur="(e)=>$refs.input.onFieldChange(e.detail.value)" />
</uni-forms-item>
<button class="button" @click="submit">校验表单</button>
</uni-forms>
</view>
</template>
<script>
export default {
data() {
return {
formData:{
age: null
},
rules: {
age: {
rules: [{
required: true,
errorMessage: '必填',
}]
}
}
}
},
methods: {}
}
</script>
- 发布:2023-04-25 10:26
- 更新:2023-04-25 16:59
- 阅读:642
产品分类: uniapp/小程序/微信
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win10
HBuilderX类型: 正式
HBuilderX版本号: 3.7.9
第三方开发者工具版本号: Stable 1.06.2301160
基础库版本号: 2.31.0
项目创建方式: HBuilderX
示例代码:
操作步骤:
上面代码进行简单示例,先已将age初始为null,点击输入框后不输入操作,直接失焦,就会立即校验。
上面代码进行简单示例,先已将age初始为null,点击输入框后不输入操作,直接失焦,就会立即校验。
预期结果:
要与官方校验时机设置顺序相同
- 如果规则里配置 validateTrigger ,则优先使用规则里的 validateTrigger 属性来决定表单校验时机
- 如果规则里没有配置 validateTrigger ,则优先使用 uni-forms-item 的 validateTrigger 属性来决定表单校验时机
- 如果 uni-forms-item 组件里没有配置 validateTrigger ,则优先使用 uni-forms 的 validateTrigger 属性来决定表单校验时机
- 以此类推,如果都没有使用 validateTrigger 属性,则会使用 uni-forms 的 validateTrigger 属性默认值来决定表单校验时机
要与官方校验时机设置顺序相同
- 如果规则里配置 validateTrigger ,则优先使用规则里的 validateTrigger 属性来决定表单校验时机
- 如果规则里没有配置 validateTrigger ,则优先使用 uni-forms-item 的 validateTrigger 属性来决定表单校验时机
- 如果 uni-forms-item 组件里没有配置 validateTrigger ,则优先使用 uni-forms 的 validateTrigger 属性来决定表单校验时机
- 以此类推,如果都没有使用 validateTrigger 属性,则会使用 uni-forms 的 validateTrigger 属性默认值来决定表单校验时机
实际结果:
onFieldChange方法会立即校验(之前版本不会立即校验)
onFieldChange方法会立即校验(之前版本不会立即校验)
bug描述:
下面代码未配置validateTrigger,应该是默认在表单submit时进行校验,实际结果是立即校验,就算配置validate-trigger="submit",依然会立即校验,与官方所说的优先使用 uni-forms 的 validateTrigger 属性来决定表单校验时机不符
官方文档原文:
表单校验时机说明
uni-forms 1.4.0 后,只有 uni-forms上可以配置 validateTrigger,不在支持单独控制没个子表单的校验时机如果需要子表单需要单独的校验时机,可以使用 uni-forms-item 的 rules 属性和 onFieldChange 配合
- 如果 uni-forms-item 组件里没有配置 validateTrigger ,则优先使用 uni-forms 的 validateTrigger 属性来决定表单校验时机
1***@qq.com (作者)
非常感谢,但文档里没有说明,这应该也算加分提交吧!!不过先给你送分感谢了!
2023-04-25 20:06
YUANRJ
回复 1***@qq.com: 后续我会补充到文档。
2023-04-25 20:07