uniapp表单uni-forms校验自定义校验规则,手机校验、身份证校验

这篇具有很好参考价值的文章主要介绍了uniapp表单uni-forms校验自定义校验规则,手机校验、身份证校验。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

validateFunction 自定义校验规则
如果需要使用 validateFunction 自定义校验规则,则不能采用 uni-forms 的 rules 属性来配置校验规则,这时候需要通过ref,在onReady生命周期调用组件的setRules方法绑定验证规则 无法通过props传递变量,是因为微信小程序会过滤掉对象中的方法,导致自定义验证规则无效。

<uni-forms ref="form">
					<uni-forms-item required label="手机号" name="mob">
						<uni-easyinput v-model="mob"  placeholder="手机号" />
					</uni-forms-item>
					<uni-forms-item required label="身份证" name="id_num">
						<uni-easyinput v-model="DataAll.id_num"  placeholder="身份证" />
					</uni-forms-item>
</uni-forms>
				//表单校验规则
				dynamicRules: {
					mob: {
						rules: [{
							required: true,
							errorMessage: '请填写手机号码',
						}, {
							validateFunction: function(rule, value, data, callback) {
								let iphoneReg = (
									/^(13[0-9]|14[1579]|15[0-3,5-9]|16[6]|17[0123456789]|18[0-9]|19[89])\d{8}$/
								); //手机号码
								if (!iphoneReg.test(value)) {
									callback('手机号码格式不正确,请重新填写')
								}
							}
						}]
					},
					id_num: {
						rules: [{
							required: true,
							errorMessage: '请填写身份证',
						}, {
							validateFunction: function(rule, value, data, callback) {
								let iphoneReg = (
									/^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/
								); //
								if (!iphoneReg.test(value)) {
									callback('身份证格式不正确,请重新填写')
								}
							}
						}, ]
					},
				},
	onReady() {
		// 需要在onReady中设置规则
		this.$refs.form.setRules(this.dynamicRules)
	},
			submit() {
				let _this = this
				this.$refs.form.validate().then(res => {
					console.log('表单数据信息:', res);
				}).catch(err => {
					console.log('表单错误信息:', err);
				})
			},

具体的使用规则看官方文档,很详细
uni-app表单校验官方文档文章来源地址https://www.toymoban.com/news/detail-505122.html

到了这里,关于uniapp表单uni-forms校验自定义校验规则,手机校验、身份证校验的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Element Plus Form 动态表单自定义校验规则使用教程

    Element Plus,基于 Vue 3,面向设计师和开发者的组件库 Element Plus 官网:https://element-plus.org/zh-CN/ Element Plus Form 动态表单自定义效验规则,官网示例代码中没有,官网示例中的动态表单是固定的规则,本文讲解动态表单自定义规则的使用 目录 1、官网动态表单示例代码 2、表单自

    2024年01月18日
    浏览(36)
  • vue3 antd项目实战——Form表单的提交与校验【v-model双向绑定input输入框、form表单数据,动态校验规则】

    本文依旧沿用 ant design vue 组件库和 ts 语言🔥🔥更多内容见Ant Design Vue官方文档 🔥🔥 vue3 antd项目实战——Form表单【后台管理系统 v-model数据的双向绑定,input输入框、Radio单选框的嵌套使用】 在上期文章中,我们完成了 UI界面的渲染 (渲染效果如下图),本期文章将带着大

    2023年04月22日
    浏览(72)
  • el-form表单中不同数据类型对应的时间格式化和校验规则

     1. 在表单中, 当选择不同的数据类型时, 需要在下面选择时间时和数据类型对应上, 通过监听数据类型的变化, 给时间做格式化, 2. 但是当不按顺序选择数据类型后, 再选时间可能会报错, 所以需要在dom更新后, 再清空表单. 3. 校验规则, 结束时间需要大于开始时间, 但是不能选当

    2024年02月09日
    浏览(30)
  • el-form自定义校验规则

    Vue 的 el-form 组件可以使用自定义校验规则进行表单验证。自定义校验规则可以通过传递一个函数来实现,该函数接受要校验的字段的值作为参数,并返回一个布尔值或一个 Promise 对象。 下面是一个示例,演示如何在 el-form 中使用自定义校验规则: 在上述例子中,我们定义了

    2024年02月12日
    浏览(28)
  • (el-Form)操作(不使用 ts):Element-plus 中 Form 表单组件校验规则等的使用

    1、 Element-plus 提供 Form 表单组件情况: 其一、 Element-plus 自提供的 Form 代码情况为(示例的代码): 代码地址( 直接点击下面 url 跳转 ):https://element-plus.gitee.io/zh-CN/component/form.html#自定义校验规则 其二、页面的显示情况为: 2、目标想修改后的情况: // 此时虽然页面的样式有些变

    2024年02月13日
    浏览(37)
  • 前端-el-form表单校验,如何校验手机号和身份证号

    分成三部分处理 首先,要在模板的prop里添加校验规则 el-form-item label=\\\"身份证号:\\\" prop=\\\"identificationNumber\\\" 然后申明规则rules identificationNumber:[                 {required: true, validator: validatorIdCard, trigger: \\\'blur\\\'}                 ], phone: [                 { required: true, validator: v

    2024年04月25日
    浏览(21)
  • Vue: el-form 自定义校验规则

    Vue 的 el-form 组件可以使用自定义校验规则进行表单验证。自定义校验规则可以通过传递一个函数来实现,该函数接受要校验的字段的值作为参数,并返回一个布尔值或一个 Promise 对象。 下面是一个示例,演示如何在 el-form 中使用自定义校验规则: 在上述例子中,我们定义了

    2024年02月12日
    浏览(33)
  • for循环遍历的`form表单组件`rules规则校验失效问题——下拉框选择之后还是报红---亲测有效

    问题:   大概的效果就是这种, for循环选择之后还是还是报红 看文章之前 :  先检查  model  rules pops 有没有判定好 解决:    参考了他的 for循环遍历的`form表单组件`rules规则校验失效问题——输入内容后依然提示必填,亲测有效——基础积累_a-form-model的validatefield方法循环遍

    2024年02月07日
    浏览(27)
  • uniapp中UView中 u-form表单在v-for循环下如何进行表单校验

    1、数据data格式 注:rule绑定的tableFromRule中要和表单tableFrom下面放置一个同名数组,确保u-form能找到 2、dom结构 3、u-form-item格式必须用 :prop=“ tableData.${index}.localation ” 4、修改源码 找到async validateField(value, callback, event = null)函数进行替换 5、替换如下 6、在tableData每次塞数据的

    2024年02月09日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包