Skip to content

Form 表单校验 ​

管理表单数据及校验规则,可配合 fui-form-item 显示字段错误。

支持平台 ​

以下为官网文档所列的平台支持情况,具体功能及版本限制请参见本页的平台说明。

App-vueApp-nvue微信小程序支付宝小程序百度小程序字节小程序QQ小程序H5PC快手小程序钉钉小程序
✓✓✓✓✓✓✓✓✓✓✓

基础用法 ​

vue
<template>
  <!-- 表单 -->
  <fui-form ref="formRef" :model="formData">
    <!-- 姓名输入框 -->
    <fui-input v-model="formData.name" label="姓名" />
    <button @click="handleSubmit">提交</button>
  </fui-form>
</template>

<script>
// 姓名必填规则
const NAME_RULES = [{ name: 'name', rule: ['required'], msg: ['请输入姓名'] }];

export default {
  data() {
    return {
      // 表单数据
      formData: { name: '' }
    };
  },
  methods: {
    /** 校验表单后处理提交 */
    async handleSubmit() {
      try {
        const result = await this.$refs.formRef.validator(this.formData, NAME_RULES);
        if (result.isPassed) {
          uni.showToast({ title: '校验通过', icon: 'none' });
        }
      } catch (error) {
        uni.showToast({ title: '校验失败,请检查表单配置', icon: 'none' });
      }
    }
  }
};
</script>

规则数组中的 name 对应数据字段,rule 为内置规则名数组,msg 为对应的错误消息;validator 可配置自定义校验方法。常用规则包括 required、isMobile、isEmail、minLength:数字 和 maxLength:数字。

属性 ​

属性类型说明官网默认值
modelObject表单数据,结合表单项校验时必传{}
paddingArray表单外层内边距[]
showBoolean是否显示表单级错误提示true
disabledBoolean是否通过遮罩禁用表单false
topNumber / String错误提示顶部偏移,单位 px0
leftNumber / String错误提示左侧偏移,单位 rpx24
rightNumber / String错误提示右侧偏移,单位 rpx24
backgroundString错误提示背景色#FF2B2B
sizeNumber / String错误提示字号,单位 rpx28
colorString错误提示颜色#fff
radiusNumber / String提示框圆角,单位 rpx16
durationNumber提示显示时长,单位毫秒2000
labelSizeNumber / String表单项标题字号,0 使用全局值0
labelColorString表单项标题颜色#333
labelWidthNumber / String表单项标题宽度,0 使用全局值0
labelAlignString标题对齐:left、rightleft
labelWeightNumber / String标题字重,0 使用全局值0
asteriskColorString必填星号颜色#FF2B2B
asteriskPositionString必填星号位置:left、rightleft
errorPositionNumber / String字段错误定位:1 absolute、2 relative1
errorAlignString字段错误对齐:left、center、rightcenter

方法 ​

方法说明
validator(model, rules, checkAll)返回 Promise,结果包含 isPassed 和 errorMsg;字段级错误展示需将 checkAll 设为 true
validateField(props, model, rules)校验指定字段,props 为字段名或数组
clearValidate(props)清除字段错误提示
resetFormItemParam()通知表单项重置相关参数
switchRealTimeValidator(isOpen, rules)开启或关闭表单项实时校验

插槽和平台说明 ​

默认插槽放置表单内容。H5 使用默认导航栏时提示框顶部默认为 44px;非 nvue 默认错误背景色可通过 --fui-color-danger 调整。

事件 ​

事件说明回调参数
—无自定义事件—

插槽 ​

插槽说明
default表单中的控件和表单项