uview 1 uni-app表单 number digit 的输入框有初始化赋值后,但是校验失败

 背景:

在onReady初始化规则

onReady() {
            this.$refs.uForm.setRules(this.rules);
 },

同时:ref,model,rules,props都要配置好。

报错

当input框限定type为number,digit类型有初始值不做修改动作,直接提交会报错,验证失败:报空。

<u-form-item label="小时" label-width="150" right-icon="arrow-right" prop="hours"> <u-input placeholder="请选择" type="number" class="form-field-select" v-model="model.hours"/> </u-form-item>

验证规则

data():{

return {

model: {type: '年假', days: '0', reason: '-', hours: 0,
},
rules: {type: [{required: true,message: '请输入请假类型',trigger: ['change', 'blur'],}],days: [{required: true,message: '请输入请假类型',trigger: ['change', 'blur'],}],hours: [{required: true,message: '请输入小时',trigger: ['change', 'blur'],}],reason: [{required: true,message: '请输入租赁洗涤价',trigger: ['change', 'blur']}]// {min: 0,max:500, message: '不能小于0', trigger: ['change', 'blur'],}],
},

}}

解决:

方法1:hours:数字的字段加上数字正则匹配规则,限制只能0-999的数字,且只能有2个小数。

hours: [{required: true,message: '请输入小时',pattern:/^(([1-9]\d{0,3})|0)(\.\d{0,2})?$/,trigger: ['change', 'blur'],}
]

方法2: hours: 先强制转成字符串再让其检验,如果不限制小数位数,这个方法简单点,

hours:[{required: true,
message: '请输入售价',
trigger: ['change', 'blur'],
// 正则检验前先将值转为字符串
transform(value) {return String(value);
},}]

源码:

<template><view class="wrap" style="padding-bottom: 60px;"><u-tabs :list="list" :is-scroll="false" :current="current" @change="change"></u-tabs><!-- 当前套餐 --><view v-if="current === 0"><u-form class="form" :model="model" :rules="rules" ref="uForm"><u-gap height="20" bg-color="#f5f5f5"></u-gap><u-form-item label="请假类型" label-width="150" right-icon="arrow-right" prop="type"><u-input placeholder="请选择" type="select" class="form-field-select" v-model="model.type"/></u-form-item><u-gap height="20" bg-color="#f5f5f5"></u-gap><u-form-item label="天数" label-width="150" right-icon="arrow-right" prop="days"><u-input placeholder="请选择" type="text" class="form-field-select" v-model="model.days"/></u-form-item><u-gap height="20" bg-color="#f5f5f5"></u-gap><u-form-item label="小时" label-width="150" right-icon="arrow-right" prop="hours"><u-input placeholder="请选择" type="number" class="form-field-select" v-model="model.hours"/></u-form-item><u-form-item label="结束时间" label-width="150" right-icon="arrow-right"><u-input placeholder="请选择" type="" class="form-field-select"/></u-form-item><u-gap height="20" bg-color="#f5f5f5"></u-gap><u-form-item label="请假事由" label-width="150" prop="reason"></u-form-item><u-form-item><u-input type="textarea" placeholder="请输入内容" v-model="model.reason"/></u-form-item><u-gap height="20" bg-color="#f5f5f5"></u-gap><u-form-item label="图片" label-width="150"><view solt="right" style="flex:1;text-align: right;align-items: center;"><i class="add-user iconfont icon-tupian"></i></view></u-form-item><u-gap height="20" bg-color="#f5f5f5"></u-gap><u-form-item label="选人处理人" label-width="150"><view solt="right" style="flex:1;text-align: right;align-items: center;"><i class="add-user iconfont icon-zengjia"></i></view></u-form-item></u-form><u-row gutter="32" class="bottom-box" justify="center"><u-col span="10"><view><u-button type="primary" shape="circle" @click="submitForm">确定</u-button></view></u-col></u-row></view></view>
</template>
<script>
export default {data() {return {show: false,model: {type: '年假', days: '0', reason: '-', hours: 1,},rules: {type: [{required: true,message: '请输入请假类型',trigger: ['change', 'blur'],}],days: [{required: true,message: '请输入请假类型',trigger: ['change', 'blur'],}],hours: [{required: true,message: '请输入请假类型',pattern:/^(([1-9]\d{0,3})|0)(\.\d{0,2})?$/,trigger: ['change', 'blur'],}],reason: [{required: true,message: '请输入原由',trigger: ['change', 'blur']}]// {min: 0,max:500, message: '不能小于0', trigger: ['change', 'blur'],}],},list: [{name: '发起申请'}, {name: '查看数据',}],m2mSimflowList: [],m2mOrderFlowList: [],current: 0,status: 'loadmore',iconType: 'circle',isDot: false,loadText: {loadmore: '点击加载更多',loading: '正在加载...',nomore: '没有更多了'},}},onReady() {this.$refs.uForm.setRules(this.rules)},created() {},methods: {submitForm() {this.$refs.uForm.validate(valid => {if (valid) {this.$u.toast("验证通过")} else {this.$u.toast('验证失败')}})},change(index) {this.current = index;},navTo(url) {uni.navigateTo({url: url});}}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/117620.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PCIe架构的处理器系统介绍

不同的处理器系统中&#xff0c;PCIe体系结构的实现方式不尽相同。PCIe体系结构以Intel的x86处理器为蓝本实现&#xff0c;已被深深地烙下x86处理器的印记。在PCIe总线规范中&#xff0c;有许多内容是x86处理器独有的&#xff0c;也仅在x86处理器的Chipset中存在。在PCIe总线规…

lua-web-utils和proxy程序示例

以下是一个使用lua-web-utils和https://www.duoip.cn/get_proxy的爬虫程序示例。每行代码后面都给出了详细的中文解释。 -- 导入所需的库 local http require("http") local ltn12 require("ltn12") local json require("json") local web_u…

【MySQL】SQL语句优化

文章目录 索引属性限定索引语句高性能 SQL数值类型Explain 索引属性限定 避免索引字段使用 null B 树索引必须先进行比较当前值后再确定下一步查找范围&#xff0c;null 值只能全盘扫描。包含 null 值的列无法作为索引&#xff0c;聚合索引中只要有一列存在 null 就无法使用索…

mac安装jdk

1、下载jdk&#xff08;我的电脑要下载arm版&#xff0c;截图不对&#xff09; Java Downloads | Oraclehttps://www.oracle.com/java/technologies/downloads/#jdk17-mac 2、双击安装

PostgreSQL 的 Replication Slot分析研究

PostgreSQL 9.4 开始支持Replication Slot新功能。对于Replication Slot&#xff0c;文档上介绍的不多&#xff0c;乍一看让人比较难理解是做什么的。其实&#xff0c;Replication Slot的出现&#xff0c;主要是为最终在PG内核实现逻辑复制和双向复制铺路的&#xff08;目前&am…

详解 Diffusion (扩散) 模型

扩散模型是跨不同深度学习领域使用的生成模型。目前&#xff0c;它们主要用于图像和音频生成。最值得注意的是&#xff0c;这些模型是令人印象深刻的图像生成模型&#xff08;例如 Dalle2 和稳定扩散&#xff09;背后的驱动力。我相信您已经看过这些模型生成的闪烁图像。令人惊…

线性表操作的实现--单链表(链式存储结构)

本文参考朱战力老师的数据结构与算法--使用C语言一书 目录 文章目录 前言 一、链表是什么&#xff1f; 二、具体实现 1.单链表的定义 2.初始化ListInitiate&#xff08;SLNode **head&#xff09; 3.求当前元素的个数ListLength&#xff08;SLNode *head&#xff09; 4.插入Lis…

生鲜加工废水处理设备构造工艺流程

诸城市鑫淼环保小编带大家了解一下生鲜加工废水处理设备构造工艺流程 1.机械格栅设备&#xff1a;生鲜水产品加工废水首先经过车间排放到收集池&#xff0c;然后利用机械格栅设备&#xff0c;它能拦截并去除大颗粒悬浮物&#xff0c;防止后续处理过程中的水泵堵塞问题。 2.调节…

8.2 矢量图层点要素单一符号使用一

文章目录 前言单一符号&#xff08;Single symbol&#xff09;渲染简单标记(Simple Marker)QGis代码实现 SVG标记&#xff08;SVG marker&#xff09;QGis代码实现 总结 前言 上一篇教程对矢量图层符号化做了一个整体介绍&#xff0c;并以点图层为例介绍了可以使用的渲染器&am…

c语言进制的转换16进制转换2进制

c语言进制的转换16进制转换2进制 c语言的进制的转换 c语言进制的转换16进制转换2进制一、16进制的介绍二、八四二一法则三、16进制转换2进制 一、16进制的介绍 十六进制&#xff1a; 十六进制逢十六进一&#xff0c;所有的数组是0到9和A到F组成&#xff0c;其中A代表10&#x…

linux vim 删除多行

使用linux服务器&#xff0c;免不了和vi编辑打交道&#xff0c;命令行下删除数量少还好&#xff0c;如果删除很多&#xff0c;光靠删除键一点点删除真的是头痛&#xff0c;还好Vi有快捷的命令可以删除多行、范围。 删除行 在Vim中删除一行的命令是dd。 以下是删除行的分步说明…

【网络原理】| 应用层协议与传输层协议 (UDP)

&#x1f397;️ 主页&#xff1a;小夜时雨 &#x1f397;️ 专栏&#xff1a;javaEE初阶 &#x1f397;️ 乾坤未定&#xff0c;你我皆黑马 目录 一、应用层协议二、传输层协议&#xff08;UDP协议&#xff09; 一、应用层协议 应用层是和代码直接相关的一层&#xff0c;决定…

Leetcode第 368 场周赛

元素和最小的山形三元组 II 预处理前缀和后缀最小值,记为pre[i]和sa[i] 对于当前编号i&#xff0c;如果前面的最小值和后面的最大值都小于nums[i],则记录ans[i] nums[i]pre[i-1]sa[i1] 结果输出最小的ans[i]即可。 合法分组的最少组数 统计每一个数字出现的次数。将每一个数…

电能计量与远程抄表的应用

摘要&#xff1a;结合当前电力企业实际的发展概况&#xff0c;可知电力活动开展中对于性能可靠的电能计量及远程抄表依赖程度高&#xff0c;需要注重它们实际应用范围的扩大&#xff0c;满足电力企业长期稳定发展的实际需求。基于此&#xff0c;本文将对电能计量与远程抄表应用…

【前端】Webpack5中Html和CSS的压缩打包

1.Webpack5简介 1.1.Webpack简介 &#xff08;1&#xff09;webpack的发展历程 2012.3—webpack&#xff08;问世&#xff09; 2014.2—webpack1 2016.12—webpack2 2017.6—webpack3 2018.2—webpack4 2020.10—webpack5&#xff08;要求node版本10.13&#xff09; &a…

微信小程序导航退回及跳转 传参(navigateBack,navigateTo)

一、uniapp navigateBack 退回上一级 当前页面-传递参数 uni.$emit(update, params)uni.navigateBack({delta: 1});退回的页面-接收参数 可以写在 onLoad 和 onShow 里面 onLoad(o) {uni.$on(update, function(e) {//参数e}}onShow() {}返回前两级 uni.navigateBack({delta: 2}…

Visual Studio Professional 2019 软件安装教程(附安装包下载)

Microsoft Visual Studio 是一个非常强大的集成开发环境&#xff08;IDE&#xff09;&#xff0c;适用于 Windows 上的 .NET 和 C 开发人员。它提供了一系列丰富的工具和功能&#xff0c;可以提升和增强软件开发的每个阶段。 Visual Studio IDE 是一个创意启动板&#xff0c;可…

uniapp中 background-image 设置背景图片不展示问题

有问题 <view class"file-picker__box jsz" tap"jszxszUpload(jsz)"></view>.jsz {background-image: url(../../static/example_drive.png); }解决1 <view class"file-picker__box jsz" :style"{ background-image: url(…

JS小数运算精度丢失的问题

工作中会不会经常会碰到一些数据指标的计算&#xff0c;比如百分比转化&#xff0c;保留几位小数等&#xff0c;就会出现计算不准确&#xff0c;数据精度丢失的情况。通过这篇分享借助第三方库能够轻松解决数据精度丢失的问题。 一、场景复现 JS数字精度丢失的一些常见问题 /…

SpringBoot+SpringMVC+MybatisPlus

文章目录 SpringBootSpringMVCMybatisPlus怎样在SpringBoot中引入SpringMVC?首先看下引入的依赖创建数据库表创建DO类创建MyBatisPlus动态代理接口创建controller控制器接收http请求创建SpringBoot配置文件application.yml最后创建启动类 SpringBootSpringMVCMybatisPlus 怎样…