uniapp的表单验证

回顾一下,平常我们在使用element-ui的时候是如何进行表单验证的

<template>
  <div class="">
    <el-form ref="form" :rules="rules" :model="form">
      <el-form-item  label="姓名" prop="name">
        <el-input v-model="form.name"></el-input>
      </el-form-item>
      <el-form-item label="年龄"  prop="age">
        <el-input v-model="form.age"></el-input>
      </el-form-item>
    </el-form>
    <el-button type="primary" @click="fn">保存</el-button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      form:{
        name:'',
        age:''
      },
      rules:{
      name: [{ required: true, message: '必填', trigger: 'blur' }],
       age: [{ required: true, message: '必填', trigger: 'blur' }]

      }
    }
  },
  name: '',
  methods: {
    fn(){
      this.$refs.form.validate((result)=>{
        if (result) {
        console.log('验证通过后的逻辑处理');
        }
        else{
        console.log('验证失败后的逻辑处理');
        }
      })

    }
  }
}
</script>

<style scoped>

</style>

(1)在el-form上绑定的东西

1.ref获取表单调用viliadte方法做全局的验证

2.:rules  验证规则

3.:model 绑定关联的数据

(2)在el-form-item上绑定东西

1.label关联的是标题

2.prop绑定是关联的字段

(3)在el-input上绑定的东西

el-input,绑定双向绑定要关联的数据

uniapp的表单验证

1.uni-forms需要通过rules属性传入约定的校验规则

<!-- rules 内容详见下方完整示例 -->
<uni-forms ref="form" :rules="rules">
	...
</uni-forms>

这个和element-ui是一样的

2.uni-forms 需要绑定model属性,值为表单的key\value 组成的对象。

<!-- formData、rules 内容详见下方完整示例 -->
<uni-forms ref="form" :model="formData" :rules="rules">
	...
</uni-forms>

3.uni-forms-item 需要设置 name 属性为当前字段名,字段为 String|Array 类型。

<!-- formData、rules 内容详见下方完整示例 -->
<uni-forms :modelValue="formData" :rules="rules">
	<uni-forms-item label="姓名" name="name">
		<uni-easyinput type="text" v-model="formData.name" placeholder="请输入姓名" />
	</uni-forms-item>
	<uni-forms-item required :name="['data','hobby']" label="兴趣爱好">
		<uni-data-checkbox multiple v-model="formData.data.hobby" :localdata="hobby"/>
	</uni-forms-item>
</uni-forms>

这里的name相当于element-ui里面的prop

4.规则验证

	rules: {
				// 对name字段进行必填验证
				name: {
					rules: [{
							required: true,
							errorMessage: '请输入姓名',
						},
						{
							minLength: 3,
							maxLength: 5,
							errorMessage: '姓名长度在 {minLength} 到 {maxLength} 个字符',
						}
					]
				},
				// 对email字段进行必填验证
				email: {
					rules: [{
						format: 'email',
						errorMessage: '请输入正确的邮箱地址',
					}]
				}
			}

 这里可以看出来uni多加了一个rules。

其他可以见官网进行查看。

在uni-app中进行表单校验可以使用以下方法。首先,在表单模板中,可以使用v-model指令将输入的电子邮件地址保存到一个Vue实例的数据中。然后,在Vue实例的methods属性中,可以定义一个方法来进行表单校验。在这个方法中,可以使用正则表达式对电子邮件地址进行校验。如果校验通过,则可以提交表单,否则可以显示错误消息。此外,如果需要对子表单进行单独的校验时机,可以使用uni-forms-item的rules属性和onFieldChange方法。在校验成功后,校验对象会保留指定了name的字段,如果需要保留其他字段,则可以使用keepItem属性。具体的代码示例可以参考引用,引用和引用中的代码。123 #### 引用[.reference_title] - *1* [uni-app 表单校验](https://blog.csdn.net/weixin_35756690/article/details/128872456)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] - *2* *3* [uniapp之表单校验](https://blog.csdn.net/weixin_44634613/article/details/129876563)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] [ .reference_list ]
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值