当前位置: 首页 > news >正文

广州网站制作怎么做查派网站建设

广州网站制作怎么做,查派网站建设,自媒体官网平台注册,如何打开本地安装的WORDPRESS1/#x1f355;背景 1、表单校验是非常常见的需求#xff0c;能够有效的拦截大部分的错误数据#xff0c;提升效率。 2、快速的给使用者提示和反馈#xff0c;用户体验感非常好。 3、成熟的表单校验框架#xff0c;开发效率高#xff0c;bug少。 最近使用的是vue3antdv的…1/背景 1、表单校验是非常常见的需求能够有效的拦截大部分的错误数据提升效率。 2、快速的给使用者提示和反馈用户体验感非常好。 3、成熟的表单校验框架开发效率高bug少。 最近使用的是vue3antdv的架子仔细探究一下表单校验的问题总结一下。 框架可能不同主要看核心问题如果有帮助欢迎一键三连。【春花秋时知多少】 2/规则配置 首先查看官网的 模版 构建了一个表单大概意思是直接写rules就可以使用了我的目标是这个字段需要长度限制 第一个常见错误rules的位置错误直接在item里面加了rule或者rules 都是无效的需要加在表单上。 注antd文档是在表单项里面配置rules的一般会对比两个组件的文档有时候真的有用 ...a-form-item labelActivity name namename :rules[{ required: true, message: Please input your username! }]a-input v-model:valueformState.name //a-form-item /a-form上面的写法就是无效的必须要放在 a-form,也就是表格上面不能放在表单项上面。 a-form...:rulesrulesfinishonFinishfinishFailedonFinishFailed.../a-form对应rules绑定位置,使用:rules 绑定对象 那它如何区分是哪个字段的校验规则呢 rules是一个对象对象的属性名对应字段的name名即可(类似map的key)通过key去找规则。 而且对象的值是一个对象数组可以创建多个规则叠加,不用所有规则写到一个对象里面。 const rules {name: [{required: true,message: ass,},],passwd: [{min: 5,message: need,},], };3/ 规则编写 这个官方只给的例子不是很清楚但是它说本质上是使用的 async-validator 然后看了下大概有这几个点需要注意基本就能完成大部分的规则校验。 1、类型判断比如校验值必须是数字用这个就可以快速限定类型。支持的类型如下 string number boolean method regexp RegExp integer float array object enum date url hex email any还支持正则对于对象和数组还可以进一步处理非常方便。 对象可以使用 fields 来限定属性 const descriptor {address: {type: object,required: true,options: { first: true },fields: {street: { type: string, required: true },city: { type: string, required: true },zip: { type: string, required: true, len: 8, message: invalid zip },},}, };数组 可以使用下标位置来限定 const descriptor {roles: {type: array,required: true,len: 3,fields: {0: { type: string, required: true },1: { type: string, required: true },2: { type: string, required: true },},}, };数组还可以使用统一的defaultField 来处理每一个 const descriptor {urls: {type: array,required: true,defaultField: { type: url },}, };2、trigger 指定校验时机 文档上只支持 change(改变) 和 blur(聚焦)就是输入的时候和失去焦点的时候比如提交的时候根据需求选择即可。 经测试默认不处理 是 trigger: change输入校验 可以使用数组来同时满足多个 trigger: [blur, change], 单个 trigger: blur 4/ 校验逻辑错误值为undifined. 本来都写好了发现出现的逻辑不对最简单的例子都实现不了。 const rules {name: [{required: true,message: must need,},{min: 5,message: least 5.,},], };针对同一个字段两条规则: 第一个规则必填如果没填就提示第一个 第二个规则: 至少5位。 结果只有第一个提示而且一直提示不会消失。 我甚至是怀疑是只有配置了required: true, 才能正常使用显然不是这个表示的是不能为空。即使算输入合法的也会提示根本没有校验逻辑。 后面查了半天还需要配置一个 :modelformState,即需要传递表单对象过去校验表单项的值从这里面取应该是而不能直接获取表单项的值。这个 :model 就是需要把表单对象传递过去。 a-form:modelformState:namestate.formConfig.name:label-col{ span: 6 }:wrapper-col{ span: 8 }:autocompletestate.formConfig.autocomplete:rulesrulesfinishonFinishfinishFailedonFinishFaileda-input v-model:valueitem.value /{{ item.value }}/a-form-item --a-form-item labelActivity name namenamea-input v-model:valueformState.name //a-form-item/a-form ... const formState reactive({name: ,region: undefined,date1: undefined,delivery: false,type: [],resource: ,desc: , });const rules {name: [{required: true,message: must need,},{min: 5,message: least 5.,// trigger: [change, blur],// validator: checkeNickName,},], };这个问题困扰了我半天写出来希望能帮到大家。 自定义校验器 这个很简单直接写一个自定义校验方法就行了。 然后校验规则里面指定自己的校验方法 validator: checkeNickName, 即可 (注就是用这个方法然后debug出上面的mode未设置的问题自定义方法里面的value一直是undifine,-。-) const checkeNickName function (rule, value, callback) {console.log(rule, value, callback);if (value) {if (value.length 5) {return Promise.reject(用户昵称长度应小于5个字符);} else {return Promise.resolve();}} else {return Promise.reject(请输入用户昵称);} }; const rules {name: [{required: true,message: must need,},{min: 5,message: least 5.,validator: checkeNickName,},], };拿到了值自己怎么处理就好写了成功 返回 return Promise.resolve(); 失败返回 return Promise.reject(用户昵称长度应小于5个字符);,里面的参数是提示信息可以自定义 总结 1、规则配置位置要正确大部分问题都是配置错误尽量搞懂每个配置的作用 2、本质上是对async-validator 的封装可以从源头查询问题 3、antdv表单校验需要传递表单对象过去这个是特有的规定按照要求编写。 4、自定义校验只需要写自定义校验方法 function (rule, value, callback),然后在rules的对象里面 使用 validator: checkeNickName, 调用这个方法即可
http://www.pierceye.com/news/283609/

相关文章:

  • 百度推广公司地址苏州优化方式
  • 做一个电商网站建设银行网站打不开用什么浏览器
  • 保定住房和城乡建设局网站沙洋网站定制
  • 北京电脑培训网站网站首页怎么做全屏swf
  • 网站建设 设计 优化 维护爱站网关键词挖掘工具
  • 做电影收费网站二级域名查询
  • 销售网站模板a5站长网网站交易
  • 网站需要怎么做的吗做营销网站那个好
  • 苏州网站建设软件收费广东网站设计哪家专业
  • 中国产品网免费网站网站自定义功能实现
  • 做微信小程序和做网站短视频素材下载网站
  • 自治区住房和城乡建设厅网站自己怎么健网站视频教程
  • 昆明建站网址dw怎么做秋季运动会网站
  • 为什么要建设个人网站在建工程
  • o2o网站设计方案做一个网站只做前端怎么做
  • 长沙网站建设公司联系方式网站注册手机号安全吗
  • 广州市网站建设服务机构建设部网站查资质
  • 医院网站建设思路wordpress mx主题
  • 天津如何做百度的网站虚拟机做局域网网站服务器
  • 网站建设维护需要懂哪些知识网站建设优质公司
  • 怎么做网络彩票网站校园网站建设经费申请报告
  • 廊坊公司做网站一般网站图标是用什么做的
  • php网站开发文档模板玖壹购网站是做啥子的
  • 海报模板网站有哪些小程序电商平台排名
  • 百度一下百度网站苏州优秀网站设计企业
  • 通信管理局网站备案cms网站建设的实训总结
  • 西安知名网站建设公司百度网页版微信
  • 单纯python能完成网站开发吗门户网站衰落的原因
  • 唐山微网站建设价格宁波外贸网站推广优化
  • 如何能把网站做的更大赤峰网站建设赤峰