IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> uniapp表单验证 -> 正文阅读

[JavaScript知识库]uniapp表单验证

表单验证不触发解决办法

  • 第一个参数传入当前表单组件所在的 name,同当前父组件?uni-forms-item?绑定属性?name?的值
  • 第二个参数传入需要校验的值,内置组件可以通过?$event.detail.value?获取到组件的返回值,自定义组件传入需要校验的值即可
  • 第三个参数传入?uni-forms?组件绑定属性?ref?的值,通常在多表单的时候需要传入,用来区分表单,如页面中仅有一个?uni-forms?可忽略

1:直接在input中加入@input="binddata('email',$event.detail.value)"方法

<uni-forms-item label="邮箱" name="email">
	<input class="input" 
        v-model="formData.email" 
        type="text" 
        placeholder="请输入用户名"     
        @input="binddata('email',$event.detail.value)" />
</uni-forms-item>

2:validateFunction 自定义校验规则

  • rule : 当前校验字段在 rules 中所对应的校验规则
  • value : 当前校验字段的值
  • data : 所有校验字段的字段和值的对象
  • callback : 校验完成时的回调,一般无需执行callback,返回true(校验通过)或者false(校验失败)即可 ,如果需要显示不同的?errMessage,如果校验不通过需要执行 callback('提示错误信息'),如果校验通过,执行callback()即可

(1)在onReady中设置规则

onReady() {
	// 需要在onReady中设置规则
	this.$refs.form.setRules(this.rules)
},

(2)html代码

<uni-forms ref="form" :modelValue="formData">
	<uni-forms-item label="兴趣爱好" required name="hobby">
		<uni-data-checkbox v-model="formData.hobby" multiple :localdata="hobbys" />
	</uni-forms-item>
</uni-forms>
<button class="button" @click="submit">校验表单</button>

(3)rules代码

rules: {
	hobby: {
		rules: [{
			required: true,
			errorMessage: '请选择兴趣',
		},{
			validateFunction:function(rule,value,data,callback){
				if (value.length < 2) {
					callback('请至少勾选两个兴趣爱好')
				}
				return true
			}
		}]
	}
}

(4)submit函数

submit(form) {
	this.$refs.form.validate().then(res=>{
		console.log('成功:', res);
	}).catch(err =>{
		console.log('失败:', err);
	})
}

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-04-27 11:15:01  更:2022-04-27 11:16:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 0:59:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码