<template>
<uni-forms ref="form" :model="formData" label-position="top">
<uni-forms-item required name="contactPhone" label="联系电话:">
<uni-easyinput v-model="formData.contactPhone" placeholder="请输入手机号" type="number"></uni-easyinput>
</uni-forms-item>
</uni-forms>
<view class="__submit_btn">
<button class="__submit" type="primary" @click="submitForm">提交工单</button>
</view>
</template>
<script setup lang="ts">
import { reactive, ref } from "vue";
import { onReady } from '@dcloudio/uni-app';
const formData = reactive({
contactPhone: "",
});
function isNumber(val) {
return /^\d+$/.test(val);
}
function checkMobile(s) {
if (!isNumber(s)) return false;
var length = s.length;
if (length == 11 && /^(((1[3-9]{1})|)+\d{9})$/.test(s)) {
return true;
} else {
return false;
}
}
const form = ref(null);
const myrules = reactive({
contactPhone: {
rules: [{
required: true,
errorMessage: '请输入手机号'
}, {
validateFunction: function(rule, value, data, callback) {
if (!checkMobile(value)) {
callback('请输入正确的手机号')
}
return true
}
}, ]
},
});
const submitForm = () => {
form.value.validate((err: any, value: any) => {
if (!!err && err.length !== 0) {
uni.showToast({
icon: "error",
title: "请先完善信息",
duration: 3000
});
}
})
};
onReady(() => {
// 需要在onReady中设置规则
form.value.setRules(myrules);
});
</script>
<style lang="scss" scoped>
</style>
- 发布:2023-02-14 07:21
- 更新:2023-02-14 11:11
- 阅读:294
产品分类: uniapp/小程序/微信
PC开发环境操作系统: Mac
PC开发环境操作系统版本号: mac pro m1 ventura 13.2
HBuilderX类型: 正式
HBuilderX版本号: 3.6.18
第三方开发者工具版本号: 1.06.2301160 darwin-arm64
基础库版本号: 2.30.0
项目创建方式: HBuilderX
示例代码:
操作步骤:
需要在微信开发者工具上点击真机调试,扫码后测试就会出现这个问题,在微信基础库位2.27.3上是没有这个问题的,其他版本未知
需要在微信开发者工具上点击真机调试,扫码后测试就会出现这个问题,在微信基础库位2.27.3上是没有这个问题的,其他版本未知
预期结果:
正常校验通过
正常校验通过
实际结果:
即使输入正确的手机号,并不能通过校验
即使输入正确的手机号,并不能通过校验
bug描述:
form中的easy-input校验始终不通过
2***@qq.com (作者)
还是不行的,一开始我就是把这个加上的
2023-03-03 23:05