官网:

NutUI - 移动端 Vue2、Vue3、小程序 组件库京东风格的轻量级移动端 Vue、React 组件库https://nutui.jd.com/#/component/form

用法:

(详细的代码在下面,这里先只说主要的使用方法)

全部校验:

如果.validate()里的参数是空,则默认校验全部规则

ruleForm.value.validate().then(async ({ valid, errors }: any) => {}

单独校验:

如果想单独使用某一个规则的话。就在.validate()里面加上要验证的那个prop参数即可:比如只想校验手机号码的话:

ruleForm.value.validate(formData.phone).then(async ({ valid, errors }: any) => {}

关键代码:

<template><div class="login"><nut-form ref="ruleForm" :model-value="formData"><nut-form-itemrequiredprop="phone":rules="[{ required: true, message: '请输入手机号码' },{ validator: validatePhone, message: '请输入正确的手机号' },]"><nut-input v-model="formData.phone" class="nut-input-text" placeholder="请输入手机号码" type="tel" /></nut-form-item><nut-form-itemrequiredprop="verificationCode":rules="[{ required: true, message: '请输入短信验证码' },{ validator: validatePhoneMsg, message: '请输入正确的短信验证码' },]"><nut-input v-model="formData.verificationCode" class="nut-input-text verification-code-input fl" placeholder="请输入短信验证码" type="password" /><nut-button class="verification-code-btn fr" size="small" type="info" @click="handleGetCheckCode" :disabled="!checkCodeBtnCanClick">{{ pageData.btnTimes ? pageData.btnTimes + 'S' : '发送验证码' }}</nut-button></nut-form-item><nut-button block type="info" class="login-btn" @click="submit"> 登录/注册 </nut-button></nut-form></div>
</template><script lang="ts" setup>import router from '/@/router';import { computed, reactive, ref } from 'vue';import { useUserStore } from '/@/store/modules/user';import { login, test, sendMsg } from '/@/api';import { Toast } from 'vant';});const formData = reactive({phone: '',verificationCode: '', // 短信验证码});const ruleForm = ref<any>(null);const submit = () => {ruleForm.value.validate().then(async ({ valid, errors }: any) => {if (valid) {} else {console.log('error submit!!', errors);}});};const handleGetCheckCode = () => {ruleForm.value.validate(formData.phone).then(async ({ valid, errors }: any) => {if (valid) {} else {console.log('error!!', errors);}});};// 函数校验// 验证手机号const validatePhone = (value: any) => {if (!value || !value.trim()) {Toast.fail(new Error('请输入手机号码'));} else {const reg = /^1[0-9]\d{9}$/;if (reg.test(value)) {return true;} else {Toast.fail(new Error('请输入正确的手机号'));}}};// 自定义短信验证码验证方法const validatePhoneMsg = (value: any) => {console.log('自定义短信验证码验证方法', value);if (!value || !value.trim()) {Toast.fail(new Error('请输入短信验证码'));} else {const reg = /^[0-9]{6}$/;if (reg.test(value)) {return true;} else {Toast.fail(new Error('请输入正确的短信验证码'));}}};
</script>

以文档的这个例子来改写:

官网的代码可以运行:

在线代码开发平台https://codehouse.jd.com/?source=share&type=vue&mainJs=Ly9pbXBvcnQgVkNvbnNvbGUgZnJvbSAidmPGDyI7Ci8vdmFyIHbIID0gbmV3yS8oKTsKx0J7IGNyZWF0ZUFwcCB9yEd1xELHIcQZxhcuL2FwcC7NHU51dFVJxx9AbnV0dWkvxQbKIsc2c2Nzc8sVzCwvZGlzdC9zdHlsZS7GJukAkihBcHApLnVzZSjFaSkubW91bnQoIiNhcHAiKTs=&appValue=PHRlbXBsYXRlPgo8bnV0LWZvcm0gOm1vZGVsLXZhbHVlPSLEE0RhdGEiIHJlZj0icnVsZUZvcm0iPgogIMk0LWl0ZW0gbGFiZWw9IuWnk+WQjSIgcHJvcD0ibmFtZcQ8cXVpcmVkIDrEQXM9Ilt7yRQ6IHRydWUsIG1lc3NhZ2U6ICfor7floavlhpnGSycgfV3FcCAgPGlucHV0IGNsYXNzPSLEf8URLXRleHQiIEBibHVyPSJjdXN0b21CbHVyVmFsaWRhdGUoJ+QAhycpIiB2LeUA3uoA2C7EGiLFXSAgcGxhY2Vob2xkZXI9Iuivt+i+k+WFpeYAhu+8jMRfIOS6i+S7tuagoemqjCIgdHlwZT0ixn8v5QEUL+0BFfsBJ7m06b6E6AEnYWf1ASbnAJj/AS3nAS3FUScgfSzJNnbmAQBvcjog5gEV5wERb3LMQuW/hemhu+YA7OaVsOWtl81FcmVnZXg6IC9eKFxkezEsMn18MVxkezJ9fDIwMCkkL9hKMC0yMDDljLrpl7QnIH3FTv8BxucBxvIBo+UBHfcBnOUA9e+8jMZ75gC/5LiUy37/AaX9AaXogZTns7vnlLXor53oAat0ZWz/Aav/AauGmcxX+AGxYXN5bmP1AbDGOOagvOW8j+S4jeato+ehrv8BZP8BZGEu5QDW9gFk7ACu5AFqvILmraXmAwHsAIv/AWj+Aw2csOWdgOkDDWRkcmVzc/8EN/sDCsVO/wQ3/QJx6ACB9wJ1xWD/APDsAPBjZWxs5wCKxA9idXR0b27HP3ByaW1hcnkiIHNpemU9InNtYWxsIiBzdHlsZT0ibWFyZ2luLXJpZ2h0OiAxMHB4IiBAY2xpY2s9InN1Ym1pdCI+5o+Q5LqkxnvGWtJrzVzIQXJlc2V0Ij7ph43nva7mj5DnpLrnirbmgIHQTMYQ5gDF6gDjxAzrBkBzY3JpcHQgbGFuZz0idHMiPgppbXBvcnTlAxJmLHJlYWN0aXZlIH0gZnJvbSAndnVlJzsKZXjFJGRlZmF1bHQgewpzZXR1cCgpe+UAw2NvbnN0IOgBlyA9IMhGKMYgxAHkBcA6ICcn6ANFICDmAg7LEXRlbM8i5gHgxBXFFH0pO8tw5wOFZSA9ICjkAcc6IGFueSkgPT4gynbEKm9sZS5sb2fFJMdBfcxI6Acs5QC4Zjxhbnk+KG51bGwpOwrLJuYBx8RszWPIPS7lB4jEBuYGyikudGhlbigo5wQsLCBlcnJvcnMgffQApmlmICjFJynLFe4AvSdzdWNjZXNzJyzpAWjnAMzEAX0gZWxzZdo9xX3nAMMhISfoAI7MQscK6AFj7gEi5AKC/wD7LsUlKM4/Ly8g5aSx5Y6754Sm54K55gSNy1nyCAPEZuQEXjogc3RyaW5n3HLpAW3EMf8Bcf8Bcf8Bcf8Bcf8Bcf8BcfEBMoe95pWw9wEs6QZq5AEpdmFs7QEoL15cZCskLy50ZXN0xB3HWy8vIFByb21pc2Ug7AYVy1zuBsXUW+kBg2V0dXJuIG5ld8hUKChyZXNvbHZlzSggIFRvYXN0LmxvYWRpbmcoJ+aooeaLn+YAgOmqjOivgeS4rS4uLifrARRzZXRUaW1lb3V0KO4Ca8pQaGlkZegCZcYBx34oL140MDAoLT8pWzAtOV17N30kfF7kCQIxMMQKMMYWMiwzfS3HISw4fewBLMtVfSwgMTAwMMkS7wGk5wEEe+kCkOoCIyzpBJYs8gnL8Agr8gL+LOcCMyznA3N9Owp9Cn0KPC/mBbY+Cg==&scssValue=

基于vue3的京东nutui组件库的表单校验规则:怎样进行表单验证?怎样只使用指定的某一个规则进行校验呢?相关推荐

  1. 分享一个基于Vue3+TS构建Cesium组件库

    分享一个基于Vue3+TS构建Cesium组件库 点击进入 Vue Cesium官网 //vc-navigation <template><el-row ref="view ...

  2. vue手机端项目php,MintUI基于Vue.js移动端组件库详解

    Mint UI 包含丰富的 CSS 和 JS 组件,能够满足日常的移动端开发需要.接下来通过本文给大家分享Mint UI 基于 Vue.js 移动端组件库,需要的朋友参考下吧,希望能帮助到大家. 官网 ...

  3. 基于 next.js + mdx 搭建组件库文档项目(二) -- mdx 控件封装实现组件的演示与 Props 列表

    说明 经过上阶段的配置虽然可以在项目中使用 mdx 语法 来创建页面了,但是我们的组件库有一些定制化的需求:交互式的组件演示.组件 Props 列表展示.这些功能如果可以通过封装来实现,会大大提升开发 ...

  4. 基于 next.js + mdx 搭建组件库文档项目(一) -- 开发环境搭建

    说明 之前使用过 Docz 来作为组件库文档搭建工具,它基于 gatsby , 提供了高度的定制化能力,但是截止 2021-06-22, Docz 停留在 v2.3.1(2020-04-05) 已经一 ...

  5. vue tree组件_基于 Vue2.0 和 HeyUI 组件库的中后端系统 HeyUI Admin

    介绍 heyui-admin 是一个成熟的企业应用解决方案,基于 vue2.0 和 heyui 组件库的中后端系统. 功能 - Js - common / 通用 - ajax / 封装axios - ...

  6. 京东Vue组件库NutUI 2.0发布:将支持跨平台!

    NutUI 是一套来自京东用户体验设计部(JDC)前端开发部的移动端 Vue 组件库,NutUI 1.0 版本于 2018 年发布.据不完全统计,目前在京东至少有30多个 web 项目正在使用 Nut ...

  7. 推荐 8 个支持 Vue3 的前端 UI 组件库,免费开源、漂亮美观,涵盖常用的业务组件

    Vue3 正式发布已经快2年了,今年2月也正式变成 Vue 项目的默认版本,今天分享8个优秀的 Vue3 UI 组件库. Element Plus 相关网址:https://www.thosefree ...

  8. Element 2.13.0 发布,基于 Vue 的桌面端组件库

    Element 2.13.0 发布了.Element 是一套为开发者.设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库,提供了配套设计资源,帮助你的网站快速成型.由饿了么公司前端团队开源. ...

  9. vue3.0(第九篇)vue3.0可用的组件库

    1.Elemnet UI 推出Element Plus 源码地址 https://github.com/element-plus/element-plus 官方网站 https://element-p ...

最新文章

  1. BeautfuiSoup4解析器
  2. Python3.7环境配置
  3. vue component created没有触发_Vue 全局数据管理-Vuex
  4. SSH框架联合开发(Annotation精简Spring的配置文件)
  5. CocoaPods was not found 解决
  6. 一天学完spark的Scala基础语法教程五、闭包(idea版本)
  7. java null 对象吗_java中new一个对象和对象=null有什么区别
  8. 新工科背景下的计算机类专业人才培养探讨
  9. Java银行类编程题
  10. 深度学习(四十五)条件对抗网络
  11. 插入排序算法(C实现)
  12. python datetime datetime
  13. can't find '__main__' module in '.'
  14. 【题解】Luogu P3871 [TJOI2010]中位数
  15. linux安装 soapui_SoapUI命令行方式运行
  16. 酉矩阵(幺正矩阵、unitary matrix)
  17. 百旺如何看是否清卡_百旺开票系统每月清卡怎么操作
  18. prince2 成功的项目管理_学员心得 | 宋文彬:学习PRINCE2的心路历程
  19. java 时间戳验证_时间戳校验问题
  20. pdf文件大小怎样压缩

热门文章

  1. java计算机毕业设计信息统计系统源程序+mysql+系统+lw文档+远程调试
  2. liunx启动jar包
  3. 图片相似度识别算法,百度图片识别算法
  4. 全球计算机科学研究生排名,新|美国计算机科学研究生专业世界排名靠50强名单...
  5. 【网络教程】群晖中如何安装甜糖,手把手教您Docker安装甜糖,如何解决甜糖安装使用中遇到的问题(已解决)
  6. Mapper.xml中遇到大于号小于号问题解决方案
  7. 360搜索和百度搜索的简单对比
  8. Linux Centos 自建Nas私有云
  9. 算法学习第一周union find solution
  10. 皮肤亮白白——美颜算法