关于uview小程序表单校验不生效问题,以及小程序自定义校验

这篇具有很好参考价值的文章主要介绍了关于uview小程序表单校验不生效问题,以及小程序自定义校验。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Form 表单 | uView - 多平台快速开发的UI框架 - uni-app UI框架

官网例子

rules: {
	name: [
		// 必填规则
		{
			required: true,
			message: '此为必填字段',
			// blur和change事件触发检验
			trigger: ['blur', 'change'],
		},
		// 正则判断为字母或数字
		{
			pattern: /^[0-9a-zA-Z]*$/g,
			// 正则检验前先将值转为字符串
			transform(value) {
				return String(value);
			},
			message: '只能包含字母或数字'
		},
		// 6-8个字符之间的判断
		{
			min: 6,
			max: 8,
			message: '长度在6-8个字符之间'
		},
		// 自定义规则判断是否包含字母"A"
		{
			validator: (rule, value, callback) => {
				return uni.$u.test.contains(value, "A");
			},
			message: '必须包含字母"A"'
		},
		// 校验用户是否已存在
		{
			asyncValidator: (rule, value, callback) => {
				uni.$u.http.post('/xxx/xxx', {name: value}).then(res => {
					// 如果验证不通过,需要在callback()抛出new Error('错误提示信息')
					if(res.error) {
						callback(new Error('姓名重复'));
					} else {
						// 如果校验通过,也要执行callback()回调
						callback();
					}
				})
			},
			// 如果是异步校验,无需写message属性,错误的信息通过Error抛出即可
			// message: 'xxx'
		}
	]
}

编写完了之后发现正则这块不生效

是因为不兼容,如果需要兼容小程序

需要加上

this.$refs.$form.setRules(this.rules)

即可解决

如果校验还没生效请检查标签是否填入必要的属性文章来源地址https://www.toymoban.com/news/detail-737032.html

<u--form ref="$form" labelPosition="left" :model="form" labelWidth="140rpx" :rules="rules">
    <u-form-item label="姓名" prop="name">
		<u--input v-model="form.name" placeholder="请输入姓名"></u--input>
	</u-form-item>
</u--form>

到了这里,关于关于uview小程序表单校验不生效问题,以及小程序自定义校验的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 关于element ui 中使用表单校验字段,校验一直不消失的问题

    element ui 中form表单,当遇到表单项为上传文件或者图片等等,上传完成之后,点击确定按钮,该表单项校验规则仍然不消失,如下   解决方法为,在上传成功的方法中手动移除校验,并且将rules里面的改字段赋值为空数组,如下:  同时要注意在下次打开新增页面的时候,要

    2024年02月12日
    浏览(37)
  • uniapp+uview2.0实现表单校验实战

        表单提交是很常见的功能,本文基于uniapp+uview2.0实现表单常见属性校验处理,使用到组件有u–form、Form-item,基本使用说明如下:      u–form 此组件一般是用于表单验证使用,每一个表单域由一个u-form-item组成,表单域中可以放置u-input、u-checkbox、u-radio、u-switch等。 在表

    2023年04月11日
    浏览(46)
  • uniapp微信小程序自定义表单校验失效

    用uniapp的uni-forms写微信小程序,发现自定义校验方法在小程序端失效,解决方法如下 html js rules的validateFunction使用异步校验 onLoad方法中手动设置rules

    2024年02月08日
    浏览(56)
  • 关于Element-UI el-select多选表单校验问题

       在使用 el-select 多选下拉菜单配置表单校验时, 如果form表单绑定的form对象对应属性值为空字符串或者null(其他未尝试),表单中的多选下拉框会立刻执行校验并弹出校验信息,代码如下: 正确方式如下: 将多选下拉框对应的属性值默认值设置未空数组即可

    2024年02月11日
    浏览(54)
  • uniapp 给自定义组件或uview等ui组件加class样式或修改样式在微信小程序不生效的情况

    首先不论是自定义组件还是ui组件,本质上的原因都是微信小程序默认的组件隔离策略导致的。 微信小程序组件隔离文档参考 1.在原有class上修改样式 比如我在uview radio 单选组件的原有class(.u-radio ) ,修改样式出现不生效的情况 解决: 加上 ::v-deep 即可 2.增加class 比如我在

    2024年02月02日
    浏览(76)
  • 单页面内循环遍历的多个表单做校验(ui框架:elementui + uview)

    界面展示: 用户每次在【物资扫码】成功后,都会在右侧【物资列表】中增加一个如图的结构(分为上中下三部分,上为【物资编号】,中为表格展示的物资基本信息,下为用户需要填写的表单项【本次组盘数】),需要在用户点击【保存】时,校验每一个表单项必填且数量

    2024年02月11日
    浏览(53)
  • ElementUI 树形表格的使用以及表单嵌套树形表格的校验问题等汇总

    目录 一、树形表格如何添加序号体现层级关系  二、树形表格展开收缩图标位置放置,设置指定列 三、表单嵌套树形表格的校验问题以及如何给校验rules传参 普通表格绑定如下:这种方法只能校验表格的第一层,树形需要递归设置子级节点prop。 树形表格绑定如下:使用下面

    2024年02月11日
    浏览(48)
  • 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日
    浏览(82)
  • elementUI 表单数据的校验回显在关闭之后没有重置,再次打开表单之后还显示校验信息(重置表单 element-ui的resetFields()方法不生效)

    问题现象: 因为和修改用的同一个vue页面,所以只要点开修改之后,直接点击添加,就会显示校验的提示信息,也就是表单信息没有重置   解决方法: 解决方法一:在关闭弹框的地方或者需要重置的地方调用: 截图实例:  下面是userInfo的具体展现   解决方法二:如果上面

    2024年02月15日
    浏览(56)
  • uniapp 如何使用echarts 以及解决tooltip自定义不生效问题

    使用的是echarts-for-wx插件; 正常写法案例:给tooltip数值加个% 这样的写法formatter自定义是不会生效的; 想要自定义生效的正确写法 顺带提一嘴在开发工具上看会有echarts层级太高遮挡显示层问题;这个问题不必理会,真机上显示是正常的 再使用dataZoom组件的时候会报错e.prev

    2024年01月15日
    浏览(82)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包