小程序form表单验证,validate 在更新数据以后不能验证?还是提示同样的错误

报错:

一直报手机号码必须填写,但是我已经填写了。 

 解决:

 花了2个小时,最后发布是模式models写错了。

 改完之后,终于提示别的错误了:

源码:

//wxml
<view class="welcome">欢迎回来!</view>
<mp-form id="form" class="login" rules="{{rules}}" mode="{{loginInfo}}">
  <mp-toptips show="{{showTips}}" msg="{{msgTip}}"></mp-toptips>
  <mp-cells ext-class="my-cells"  >

    <mp-cell show-error hover prop="phone">
      <view class="user-item">手机号码:
        <input type="number" value="{{phone}}"
               placeholder="请输入手机号" bindinput="onchange" data-field="phone"></input>
      </view>
    </mp-cell>
    <mp-cell  show-error prop="password">
      <view>登录密码
        <input class="weui-input" value="{{password}}" placeholder="请输入密码" data-field="password"
               bindinput="onchange"></input>
      </view>
    </mp-cell>
    <view class="btn-login" bindtap="login">登录</view>
  </mp-cells>
</mp-form>

<view class="forget-pwd">忘记密码?</view>
<view class="foot">
  还没有账号?
  <text class="register">马上注册</text>
</view>

//js
Page({
  login(e) {
    console.log(e, this)
    this.selectComponent("#form").validate((valid, errs) => {
      console.log(errs)
      if (!valid) {
        this.setData({
          msgTip: errs[0].message,
          showTips: true
        })
      } else {
        console.log("》》验证通过")
      }

    })
  }, onchange(e) {
    console.log('>>>', e)
    let field = e.target.dataset.field
    this.setData({
      [`loginInfo.${field}`]: e.detail.value
    })
  }, data: {
    showTips: false,
    msgTip: '',
    loginInfo: {
      phone: '',
      password: ''
    },
    rules: [ {
          name: "phone",
          rules: [{
            required: true,
            message: "手机必须填写"
          }, {
            mobile: true,
            message: "手机号码格式不对"
          }]
      },
      {
        name: 'password',
        rules: [{required: true, message: "请输入密码"},]
      },
    ]
  },
  onLoad: function (options) {

  }
});

json wxss


//json
{
  "usingComponents": {
    "mp-cell": "weui-miniprogram/cell/cell",
    "mp-cells": "weui-miniprogram/cells/cells",
    "mp-form": "weui-miniprogram/form/form",
    "mp-toptips": "weui-miniprogram/toptips/toptips"
  },
  "navigationBarTitleText": "登录中心"
}



//wxss

.welcome {
  font-size: 50rpx;
  line-height: 240rpx;
  margin-left: 50rpx;
}

.btn-login {
  background-color: #e24c32;
  width: 80%;
  color: #fff;
  border-radius: 50rpx;
  text-align: center;
  line-height: 80rpx;
  margin: 30rpx auto;
}

.my-cells {
  margin: 0 50rpx;
}

.weui-cell:before, .weui-cells:before, .weui-cells:after {
  display: none;
}

.weui-cell:before {
  display: none;
}

.weui-cell__bd {
  background-color: #eee;
  padding: 10rpx 20rpx;
  border-radius: 10rpx;
}

.forget-pwd {
  margin-top: 60rpx auto;
  text-align: center;
  color: #537eee;
}

.foot {
  position: fixed;
  /*background-color: #bfc;*/
  text-align: center;
  width: 100%;
  bottom: 150rpx;
}

.register {
  color: #537eee;
}

app.json

  {
//...
"useExtendedLib": {
    "weui": true
  }
}

 官方组件文档:

Form | wechat-miniprogram / weui

   <!--
 models:需要校验的表单数据
 rules:表单校验的规则列表
 prop="userName" 和 data-field="userName"的值要一样,不然验证不了
-->

<mp-toptips show="{{showTips}}" msg="{{msgTip}}"></mp-toptips>

这行代码是页面上弹出来的红色框框

<mp-cell  show-error hover prop="password">
  <view>登录密码
    <input class="weui-input" value="{{password}}" placeholder="请输入密码" data-field="password"
           bindinput="onchange"></input>
  </view>
</mp-cell>

 这里面的 show-error 是对应的后面的圆的小问号 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

安装Visual Studio Installer Projects 2022插件

VS主界面--扩展--管理扩展--搜索VS插件“Visual Studio Installer Projects 2022”并安装。

【多模态】1、几种多模态 vision-language 任务和数据集介绍

文章目录 一、Phrase Grounding1.1 概念介绍1.2 常用数据集介绍 二、Referring Expression Comprehension&#xff08;REC&#xff09;2.1 概念介绍2.2 常用数据集介绍 三、Visual Question Answer&#xff08;VQA&#xff09;3.1 概念介绍 四、Image Caption4.1 概念介绍 现在…

cookie 生命周期和cookie有效路径超级详细讲解

文章目录 cookie 生命周期和cookie有效路径超级详细讲解cookie 生命周期介绍代码示例完成测试 , 注意抓包看数据 cookie 有效路径有效路径规则规则如下:代码示例完成测试 , 注意抓包看创建 Cookie 时,返回的数据完成测试 , 注意抓包看读取 Cookie 时,返回的数据 代码示例html页…

bug:file name too long文件名超出系统最大限制

各操作系统支持最长的文件和目录名称长度&#xff08;Linux、Win、Mac&#xff09; 今天开发需求的时候发现无法新建文件&#xff0c;提示file name too lang&#xff0c;于是翻阅和查询了一些资料&#xff0c;发现不同操作系统下文件名和目录名最长的长度不同。 操作系统文件名…

elementUI 非表单格式的校验

在普通表单中对输入框、选择框都有校验案例。 但是在自定义非空中如何进行校验官网并没有说明 关键代码 clearValidate 方法清除校验 this.$refs.formValue.clearValidate(signinimg) 使用案例 <template><div class"stylebg"><Tabs icons"el-…

.net6中WPF的串口通信和USB通信

之前写过串口通信&#xff0c;不过是winform的。 c#使用串口进行通信_c# 串口通信_故里2130的博客-CSDN博客 今天说一下&#xff0c;.net6中wpf的串口通信和USB通信&#xff0c;在工控行业中&#xff0c;这2种的方式非常多&#xff0c;还有网口通信&#xff0c;它们都是用来和…

利用ChatGPT场景化学习英语听说读写

大家好&#xff0c;我是可夫小子&#xff0c;关注AIGC、读书和自媒体。解锁更多ChatGPT、AI绘画玩法。加我&#xff0c;备注&#xff1a;chatgpt&#xff0c;拉你进群。 我们从初中就开始学习英语&#xff0c;到大学也有小十年&#xff0c;在这个过程中&#xff0c;我们投入了很…

提高驾驶安全性 | 基于ACM32 MCU的胎压监测仪方案

概述 作为车辆的基础部件&#xff0c;轮胎是影响行车安全不可忽视的因素之一。据统计&#xff0c;中国每年由胎压问题引起轮胎爆炸的交通事故约占 30%&#xff0c;其中 50%的高速交通事故是由车辆胎压异常引起。因此&#xff0c;准确实时地监测车辆在行驶过程中的轮胎压监测系…

Java List中通过对象属性排序,可实现多条件排序

直接上代码&#xff1a; import com.google.common.collect.Lists; import lombok.AllArgsConstructor; import lombok.Data;import java.util.Comparator; import java.util.List; import java.util.stream.Collectors;/*** List 对象属性排序*/Data AllArgsConstructor clas…

【Linux】进程概念

【Linux】进程概念 文章目录 【Linux】进程概念1、冯诺依曼体系结构2、操作系统2.1 概念2.2 设计OS的目的2.3 定位2.4 管理2.5 系统调用和库函数概念 3、进程3.1 基本概念3.2 描述进程—PCB3.3 组织进程3.4 查看进程3.5 获取进程标示符3.6 创建进程-fork初识3.7 进程状态3.7.1 …

Vue2 ➔ Vue3 都做了哪些改变?

不是吧&#xff0c;兄弟&#xff0c;Vue3 都出来多久了&#xff0c;你还对这个感兴趣&#xff0c;说&#xff01;是不是没好好卷&#xff1f;&#x1f60f; 俺也一样 &#x1f602;&#xff0c;Vue3 出来之后只是简单了解了一下&#xff0c;然后还是转头一直在写 Vue2。当然&a…

IIC的再认识

IIC介绍 关于IIC的基本概念&#xff0c;其实在学习89C52的时候已经大致了解过了&#xff0c;且由于STM32支持了IIC协议&#xff0c;所以在STM32中使用IIC可以直接调用HAL库的库函数&#xff1a; HAL_StatusTypeDef HAL_I2C_Mem_Write(I2C_HandleTypeDef *hi2c,uint16_t DevAdd…

IP基础知识总结

IP他负责的是把IP数据包在不同网络间传送&#xff0c;这是网络设计相关的&#xff0c;与操作系统没有关系。所以这部分知识&#xff0c;不是网络的重点。IP和路由交换技术联系紧密。但是要作为基本知识点记住。 一、基本概念 网络层作用&#xff1a;实现主机与主机之间通信。 …

瀚高企业版数据库V6单机安装指导手册(Linux)

目录 瀚高企业版数据库V6单机安装指导手册&#xff08;Linux&#xff09; 1. 环境准备 1.1 防火墙设置 1.1.1 开放数据库使用端口 1.1.2 关闭防火墙 1.2 检查时区和时间 1.3 创建highgo用户 1.4 检验安装包 2. 软件安装 2.1 图形化安装 3. 设置highgo用户环境变量 4.…

mysql 1 -- 数据库介绍、mysql 安装及设置

Linux 安装 mysql 1、数据库&#xff08;mysql&#xff09; 数据文件 - 数据库过了系统 2、c/s mysql 服务器 mysql 客户端 ip port : 3306 3、关系型 于 非关系型数据库&#xff08;nosql&#xff09; nosql可以解决一些关系型数据库所无法实现的场景引用。 一、数据库介绍 …

计算机网络——三次握⼿、四次挥手

TCP 三次握手 1、第⼀个SYN报⽂&#xff1a; 客户端随机初始化序列号client_isn&#xff0c;放进TCP⾸部序列号段&#xff0c; 然后把SYN置1。把SYN报⽂发送给服务端&#xff0c;表⽰发起连接&#xff0c; 之后客户端处于SYN-SENT状态。 2、第⼆个报⽂SYNACK报⽂&#xff1a; …

郑州网站域名升级https通配符证书

新创建的网站如果没有安装SSL证书&#xff0c;在客户端与服务器传输信息时会使用明文传输&#xff0c;明文传输的数据容易被其他人截获或者插入违法信息&#xff0c;会对网站所有者和访问网站的客户带来危害。而部署了SSL证书将网站域名由http升级为https&#xff0c;会在客户端…

卷积神经网络(CNN)原理详解

近些年人工智能发展迅速&#xff0c;在图像识别、语音识别、物体识别等各种场景上深度学习取得了巨大的成功&#xff0c;例如AlphaGo击败世界围棋冠军&#xff0c;iPhone X内置了人脸识别解锁功能等等&#xff0c;很多AI产品在世界上引起了很大的轰动。 而其中 卷积神经网络&am…

G1垃圾收集器-JVM(十三)

上篇文章说了CMS垃圾收集器使用以及三色标记如何解决cms的一些问题。分别有初始标记&#xff0c;并发标记&#xff0c;重新标记&#xff0c;并发清理&#xff0c;并发重置。 CMS垃圾收集器&三色标记-JVM&#xff08;十二&#xff09; G1收集器&#xff08;Garbage-First&a…

macOS 14 Sonama - 小记

文章目录 Sonoma 官方资讯关于 Sonama 命名关于 壁纸Sonoma 官方资讯 macOS Sonoma Preview https://www.apple.com/hk/en/macos/sonoma-preview/官方视频介绍 Apple Events --> Watch the Keynote --> 00:43:13 (约14min) https://www.apple.com/hk/en/apple-events/mac…