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.rhkb.cn/news/170067.html

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

相关文章

越流行的大语言模型越不安全

源自&#xff1a;GoUpSec “人工智能技术与咨询” 发布 安全研究人员用OpenSSF记分卡对GitHub上50个最流行的生成式AI大语言模型项目的安全性进行了评估&#xff0c;结果发现越流行的大语言模型越危险。 近日&#xff0c;安全研究人员用OpenSSF记分卡对GitHub上50个最流…

新华三路由器+华为交换机,实现华为交换机指定端口访问外网

需求背景&#xff1a; 多台服务器使用华为交换机组建了局域网&#xff0c;需要让交换机的指定端口可以访问外网。 需求分析&#xff1a; 交换机组建的局域网是二层组网&#xff0c;需借助路由器接入外网&#xff0c;然后通过DHCP分配内网IP地址给交换机指定端口连接的设备。 …

【M365运维】给从本地同步到O365的DL添加 Send As权限

【问题】在一个混合部署的M365环境里&#xff0c;邮件系统已经从本地迁移到O365&#xff0c;相关的AD用户、AD 组等账号数据也都同步到了Azure AD。用户提出要求想为一个DL 添加 Send As 权限。 由于DL是从本地迁移到O365的&#xff0c;在O365的Exchange 管理中心里进行设置时…

数据结构,及分类(存储分类、逻辑分类)介绍

一、数据结构&#xff1a; 数据是软件开发的核心。在软件开发过程中基本上就是对数据的新增、删除、修改、查看的操作。 如何合理存储数据&#xff0c;如何有效提升数据操作开发效率&#xff0c;都是软件开发中的重中之重。使用合理的数据结构是非常重要的。 1.1简介&#xff…

[蓝桥杯-610]分数

题面 解答 这一题如果不知道数论结论的话&#xff0c;做这个题会有两种天壤之别的体验 此题包含以下两个数论知识 1. 2^02^12^2...2^(n-1)2^n-1 2. 较大的数如果比较小的数的两倍大1或者小1&#xff0c;则两者互质 所以答案就是2^n-1/2^(n-1) 标程1 我的初次解答 #in…

损失函数总结(三):BCELoss、CrossEntropyLoss

损失函数总结&#xff08;三&#xff09;&#xff1a;BCELoss、CrossEntropyLoss 1 引言2 损失函数2.1 BCELoss2.2 CrossEntropyLoss 3 总结 1 引言 在前面的文章中已经介绍了介绍了一系列损失函数 (L1Loss、MSELoss)。在这篇文章中&#xff0c;会接着上文提到的众多损失函数继…

Spark_SQL-DataFrame数据写出以及读写数据库(以MySQl为例)

一、数据写出 &#xff08;1&#xff09;SparkSQL统一API写出DataFrame数据 统一API写法&#xff1a; 常见源写出&#xff1a; # cording:utf8from pyspark.sql import SparkSession from pyspark.sql.types import StructType, IntegerType, StringType import pyspark.sql.fu…

vue3+vite在线预览pdf

效果图 代码 <template><div class"pdf-preview"><div class"pdf-wrap"><vue-pdf-embed :source"state.source" :style"scale" class"vue-pdf-embed" :page"state.pageNum" /></div…

VB.NET 三层登录系统实战:从设计到部署全流程详解

目录 前言&#xff1a; 什么是三层 为什么要用到三层: 饭店→软件 理解: 过程: 1.三层包图: 2.数据库 3.三层项目 4.用户界面 5.添加引用 代码实现: Entity层 BLL层 DAL层 UI层 总结: 前言&#xff1a; 什么是三层 三层就是把各个功能模块划分为表示层&#…

NetCore IIS Redis JMeter 登录压力测试

近期&#xff0c;由于某项目验收需要&#xff0c;需要登录接口同时满足至少400个账号同时并发登录&#xff0c;于是开始编写测试代码&#xff0c;以满足项目业务需要。首先&#xff0c;安装jdk&#xff0c;由于本机已安装jdk8&#xff1a; 如果你机器上没有安装jdk&#xff0c;…

.net 支付宝 应用网页验签

验证签名接口 /// <summary>/// 验证网关/// </summary>/// <returns></returns>[Route("gatewayVerify"), HttpPost, AllowAnonymous, NonUnify]public async Task<dynamic> gatewayVerify(){var Request App.HttpContext.Request;…

uni-app:实现picker下拉列表的默认值设置

效果 分析 1、在data中将index8的初始值设置为-1&#xff0c;表示未选择任何选项&#xff1a; index8: -1, //选择的下拉列表下标 2、在bindPickerChange8事件处理函数中添加条件判断。如果选择的值是-1&#xff0c;则将this.index8设置为"请输入"&#xff0c;否则将…

部署基于efk+logstash+kafka构建日志收集平台并对nginx日志进行分析

文章目录 1.1 安装zookeeper集群1.2 安装kafka集群1.3 部署filebeat服务1.4 部署logstash1.5 部署es和kibana服务1.6 配置kibana ui界面1.7 对nginx进行日志分析 Filebeat采集日志kafka topic存起来日志->logstash去kafka获取日志&#xff0c;进行格式转换->elasticsearc…

部分背包问题细节(贪心)

有一种情况是&#xff0c;背包可以把金币全部拿走&#xff1a; 如果num小于0则返回值

Python-pptx教程之一从零开始生成PPT文件

简介 python-pptx是一个用于创建、读取和更新PowerPoint&#xff08;.pptx&#xff09;文件的python库。 典型的用途是根据动态内容&#xff08;如数据库查询、分析数据等&#xff09;&#xff0c;将这些内容自动化生成PowerPoint演示文稿&#xff0c;将数据可视化&#xff0c…

京东(天猫)数据分析:2023下半年茶饮料市场高速增长,东方树叶一骑绝尘

当前在食品饮料行业中&#xff0c;整体的增长放缓&#xff0c;且各个细分品类上都已经充分竞争。但茶饮料市场例外&#xff0c;近两年呈现高增长的态势&#xff0c;一来取决于行业头部企业也在积极推动茶饮料不断升级&#xff0c;另外是主打更健康、更时尚的茶饮料深受年轻消费…

基于定容积法标准容器容积标定中的电动针阀自动化解决方案

摘要&#xff1a;在目前的六氟化硫气体精密计量中普遍采用重量法和定容法两种技术&#xff0c;本文分析了重量法中存在的问题以及定容法的优势&#xff0c;同时也指出定容法在实际应用中还存在自动化水平较低的问题。为了提高定容法精密计量过程中的自动化水平&#xff0c;本文…

Delphi : 在 SDK 管理器中添加其他 iOS 框架

在用Delphi开发IOS程序时&#xff0c;有时候需要添加其他的iOS框架&#xff0c;也就是说在默认的SDK中没有包含的iOS框架&#xff08;frameworks&#xff09;。 如果您希望利用 Delphi 提供支持之外的 iOS 框架&#xff0c;则需要在 SDK 管理器中添加框架的路径。 为此&#…

制造业中的微小缺陷检测——应用场景分析与算法选择(YoloV8/CANet)

一、缺陷检测任务 缺陷检测的任务通常可以分为三个主要阶段&#xff0c;包括缺陷分类、缺陷定位和缺陷分割。 1.缺陷分类 缺陷分类是检测过程的第一步&#xff0c;目的是将检测到的缺陷区域分类为不同的类别&#xff0c;通常是根据缺陷的性质或类型进行分类。分类的类别包括…

如何最有效地使用ChatGPT:提问技巧与策略

前言 在如今信息技术高速发展的时代&#xff0c;像ChatGPT这样的大型自然语言处理模型为我们提供了一个强大的工具&#xff0c;以获取各种信息和答案。然而&#xff0c;要充分利用这一工具&#xff0c;您需要掌握一些提问技巧与策略&#xff0c;以确保获得最准确和有用的回答。…