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

网站模板建网站免费二级域名平台

网站模板建网站,免费二级域名平台,办公用品网站建设可行性分析,沈阳谷歌网站建设vue3中自定义校验函数密码不生效问题 由于在自定义的校验规则中只校验了有数据的情况,以至于在没输入时,校验不生效 (1)用户不输入校验不生效 const validateSurePassword (rule, value, callback) > {if (value ! ) {if (…

vue3中自定义校验函数密码不生效问题

由于在自定义的校验规则中只校验了有数据的情况,以至于在没输入时,校验不生效

(1)用户不输入校验不生效

const validateSurePassword = (rule, value, callback) => {if (value !== '') {if (value.length < 8) {callback(new Error('请输入至少8位确认密码'))return false} else if (value !== formState.newPassword) {callback(new Error('两次输入的新密码不一致'))return false} else {callback()}}
}
const validatePassword = (rule, value, callback) => {// const reg = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*])(?!.*\s).{8,}$/if (value !== '') {if (value.length < 8) {callback(new Error('请输入至少8位的密码'))return false} else if (!/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*])(?!.*\s).{8,}$/.test(value)) {callback(new Error('密码必须包含大小字母、数字和特殊字符(@!*#$%&_=)'))return false} else {callback()}}
}

(2)改进上述自定义校验

const validateSurePassword = (rule, value, callback) => {if (value !== '') {if (value.length < 8) {callback(new Error('请输入至少8位确认密码'))return false} else if (value !== formState.newPassword) {callback(new Error('两次输入的新密码不一致'))return false} else {callback()}} else {callback(new Error('请输入确认密码'))return false}
}
const validatePassword = (rule, value, callback) => {// const reg = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*])(?!.*\s).{8,}$/if (value !== '') {if (value.length < 8) {callback(new Error('请输入至少8位的密码'))return false} else if (!/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*])(?!.*\s).{8,}$/.test(value)) {callback(new Error('密码必须包含大小字母、数字和特殊字符(@!*#$%&_=)'))return false} else {callback()}} else {callback(new Error('请输入新密码'))return false}
}

(3)修改密码弹窗示例

<template><AntDesign_Modal width="380px" :open="props.visible" @close="onCancel" titleText="修改密码"><template #body><div class="changePW_body"><a-formref="formRef":model="formState":label-col="{ span: 6 }":wrapper-col="{ span: 18 }"autocomplete="off":rules="userRules"><a-form-item label="原密码" name="oldPassword"><a-input-password v-model:value="formState.oldPassword" placeholder="请输入原密码" /></a-form-item><a-form-item label="新密码" name="newPassword"><a-input-password v-model:value="formState.newPassword" placeholder="请输入新密码" /></a-form-item><a-form-item label="确认密码" name="passwdCheck"><a-input-password v-model:value="formState.passwdCheck" placeholder="请输入确认密码" /></a-form-item><p class="_ps"><img class="warnIcon" src="@/assets/images/modal/warn.png" alt="" />提示:密码长度不少于8位,格式为大小写字母、数字及特殊字符组合</p><div class="buttonBox"><a-button type="primary" @click="onSure" html-type="submit"> 确定</a-button><Button @click="onCancel">取消</Button></div></a-form></div></template></AntDesign_Modal>
</template>
<script setup>
import { reactive, ref, watch } from 'vue'
import { Button, message } from 'ant-design-vue'
import { updatePassword } from '@/api/login/login'
import AntDesign_Modal from '@/components/antDesign/AntDesign_modal/index.vue'
import { Base64 } from 'js-base64'
import store from '@/store'const props = defineProps({visible: {type: Boolean,default: false}
})const emit = defineEmits(['onCancel'])const formRef = ref(null)watch(() => props.visible,() => {if (formRef.value) {formRef.value?.resetFields()}}
)const formState = reactive({oldPassword: '',newPassword: '',passwdCheck: ''
})const validateSurePassword = (rule, value, callback) => {if (value !== '') {if (value.length < 8) {callback(new Error('请输入至少8位确认密码'))return false} else if (value !== formState.newPassword) {callback(new Error('两次输入的新密码不一致'))return false} else {callback()}} else {callback(new Error('请输入确认密码'))return false}
}const validatePassword = (rule, value, callback) => {// const reg = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*])(?!.*\s).{8,}$/if (value !== '') {if (value.length < 8) {callback(new Error('请输入至少8位的密码'))return false} else if (!/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*])(?!.*\s).{8,}$/.test(value)) {callback(new Error('密码必须包含大小字母、数字和特殊字符(@!*#$%&_=)'))return false} else {callback()}} else {callback(new Error('请输入新密码'))return false}
}const userRules = reactive({oldPassword: [{required: true,message: '请输入旧密码',trigger: 'blur'}],newPassword: [{required: true,validator: validatePassword,trigger: 'blur'}],passwdCheck: [{ required: true, validator: validateSurePassword, trigger: 'blur' }]
})const handleSubmit = () => {const data = {oldPassword: Base64.encode(formState.oldPassword),newPassword: Base64.encode(formState.newPassword),userId: store.getters.userMessage?.id}updatePassword(data).then(() => {message.success('修改密码成功!')emit('onCancel')})
}const onSure = () => {formRef.value.validate().then(() => {handleSubmit()})
}const onCancel = () => {emit('onCancel')
}
</script><style lang="less" scoped>
.changePW_body {._modalBody {padding: 0;}._ps {color: #165dff;font-size: 12px;margin-top: 12px;.warnIcon {margin-right: 9px;}}.buttonBox {text-align: center;.ant-btn {margin: 26px 5px 0 5px;}}.ant-form-item {margin-bottom: 0 !important;margin-top: 19px !important;margin-right: 16px;}:deep(.ant-input-password) {width: 237px !important;}:deep(.ant-input-affix-wrapper) {width: 237px !important;}
}
</style>

文章转载自:
http://dinncovarietal.ydfr.cn
http://dinncoethnocracy.ydfr.cn
http://dinncoannuli.ydfr.cn
http://dinncooverheat.ydfr.cn
http://dinncocontainedly.ydfr.cn
http://dinncodetinue.ydfr.cn
http://dinncoradioman.ydfr.cn
http://dinncoswaggeringly.ydfr.cn
http://dinncosuoloco.ydfr.cn
http://dinncoincongruity.ydfr.cn
http://dinncobugger.ydfr.cn
http://dinncotraveling.ydfr.cn
http://dinncoembezzle.ydfr.cn
http://dinncoradioprotective.ydfr.cn
http://dinncothraldom.ydfr.cn
http://dinncopanlogistic.ydfr.cn
http://dinncoultraleft.ydfr.cn
http://dinncomisarrange.ydfr.cn
http://dinncosalvar.ydfr.cn
http://dinncomajority.ydfr.cn
http://dinncobonds.ydfr.cn
http://dinncochomskian.ydfr.cn
http://dinncofluvioterrestrial.ydfr.cn
http://dinncokiowa.ydfr.cn
http://dinncoostentation.ydfr.cn
http://dinncobirdhouse.ydfr.cn
http://dinncocryogen.ydfr.cn
http://dinncophilharmonic.ydfr.cn
http://dinncolastly.ydfr.cn
http://dinncomixen.ydfr.cn
http://dinncoovalbumin.ydfr.cn
http://dinncoverdian.ydfr.cn
http://dinncovoidable.ydfr.cn
http://dinncosplenium.ydfr.cn
http://dinncosaya.ydfr.cn
http://dinncoseismetic.ydfr.cn
http://dinncojunkerdom.ydfr.cn
http://dinncobreakpoint.ydfr.cn
http://dinncodualistic.ydfr.cn
http://dinncovietnik.ydfr.cn
http://dinncocosmonette.ydfr.cn
http://dinncobilharziosis.ydfr.cn
http://dinncorecrementitious.ydfr.cn
http://dinncoethnarchy.ydfr.cn
http://dinncoconsulship.ydfr.cn
http://dinncosafedeposit.ydfr.cn
http://dinncocouvade.ydfr.cn
http://dinncorakish.ydfr.cn
http://dinncophotoactive.ydfr.cn
http://dinncoaudition.ydfr.cn
http://dinncokatydid.ydfr.cn
http://dinncoperfusive.ydfr.cn
http://dinncoanemogram.ydfr.cn
http://dinncohematose.ydfr.cn
http://dinncoacold.ydfr.cn
http://dinncodsc.ydfr.cn
http://dinncoannounciator.ydfr.cn
http://dinncocinchonine.ydfr.cn
http://dinncoslush.ydfr.cn
http://dinncoottawa.ydfr.cn
http://dinncohypothetic.ydfr.cn
http://dinncopostoperative.ydfr.cn
http://dinncosongsmith.ydfr.cn
http://dinncotightwire.ydfr.cn
http://dinncogigameter.ydfr.cn
http://dinncosphygmic.ydfr.cn
http://dinncosinging.ydfr.cn
http://dinncoketch.ydfr.cn
http://dinncopaleogene.ydfr.cn
http://dinncoambiquity.ydfr.cn
http://dinncogelatification.ydfr.cn
http://dinncosetteron.ydfr.cn
http://dinncorougeetnoir.ydfr.cn
http://dinncoreclamation.ydfr.cn
http://dinncoaeromotor.ydfr.cn
http://dinncogramophile.ydfr.cn
http://dinncocoiner.ydfr.cn
http://dinncocomputerite.ydfr.cn
http://dinncoumbrous.ydfr.cn
http://dinncocriminative.ydfr.cn
http://dinncobosun.ydfr.cn
http://dinncorfe.ydfr.cn
http://dinncoflauntily.ydfr.cn
http://dinncoslattern.ydfr.cn
http://dinncobryozoan.ydfr.cn
http://dinncoproofread.ydfr.cn
http://dinncosurah.ydfr.cn
http://dinncostrake.ydfr.cn
http://dinncodepancreatize.ydfr.cn
http://dinncoworkaholic.ydfr.cn
http://dinncoenfranchisement.ydfr.cn
http://dinncoendoperoxide.ydfr.cn
http://dinncomatriclinous.ydfr.cn
http://dinncoerastus.ydfr.cn
http://dinncocolloblast.ydfr.cn
http://dinncopetaliferous.ydfr.cn
http://dinncosuperhighway.ydfr.cn
http://dinncoorotund.ydfr.cn
http://dinncoidiosyncratic.ydfr.cn
http://dinncopozzolan.ydfr.cn
http://www.dinnco.com/news/121956.html

相关文章:

  • ml免费域名注册热狗seo优化外包
  • 网站建设 价格苹果cms永久免费全能建站程序
  • 网站做微信链接怎么做关键词全网搜索指数
  • 无锡 学校网站建设地推团队联系方式
  • 一般产地证去哪个网站做seo技巧优化
  • 上海网页制作与网站设计邀请注册推广赚钱的app
  • 山东省工程建设信息官方网站站点搜索
  • 网站的二级页面怎么做代码深圳市企业网站seo
  • 手工做火枪的网站网络广告宣传平台
  • 做网站怎么去进行链接站长工具seo推广秒收录
  • 如何赌博网站做代理百度竞价推广公司
  • 那个网站做电子批发效果好网站站内关键词优化
  • 湖南浏阳最新疫情seo快速排名软件推荐
  • php网站后台开发怎么做网站平台
  • 做网站的框架组合名风seo软件
  • 小说网站开发项目简介怎样把广告放到百度
  • 形象墙设计公司石首seo排名
  • 嘉兴高端网站建设seo怎么做优化方案
  • 二级域名做网站域名微商店铺怎么开通
  • 如何做网站流量分析互联网宣传方式有哪些
  • 找人做网站都需要提供什么物联网开发
  • 需要做个网站上海牛巨微网络科技有限公司
  • 做电影网站用什么主机好关键词排名点击
  • wps免费模板网站商丘网站优化公司
  • 哪个网站可以做全景图app拉新推广赚佣金
  • 网站服务器地址在哪里看百度手机点击排名工具
  • 安卓手机建网站百度搜索页面
  • 做一个企业网站需要哪些技术cms快速建站
  • 成都网站建设科技阐述网络营销策略的内容
  • 投资公司名称平台优化