ElementUI 表单验证

更新于 2022-11-01 21:44 34
专栏: 前端文章 标签: vue

本示例基于vue3的elementUI Plus,以下案例是一个修改密码的操作

  1. <el-form :model="passform" ref="updatePasswordRef" label-width="120px" :rules="updatePasswordRules">
  2. <el-form-item label="旧密码" prop="oldPassword">
  3. <el-input type="password" v-model="passform.oldPassword" />
  4. </el-form-item>
  5. <el-form-item label="新密码" prop="newPassword">
  6. <el-input type="password" v-model="passform.newPassword" />
  7. </el-form-item>
  8. <el-form-item label="新密码" prop="newPasswordAgain">
  9. <el-input type="password" v-model="passform.newPasswordAgain" />
  10. </el-form-item>
  11. <el-form-item>
  12. <el-button type="primary" @click="passformOnSubmit(updatePasswordRef)">确认修改</el-button>
  13. </el-form-item>
  14. </el-form>
  15. <script setup>
  16. import { reactive, ref } from '@vue/reactivity'
  17. import inputValidate from "../../utils/validate";
  18. const updatePasswordRef=ref()
  19. const passform=reactive({
  20. oldPassword:"",
  21. newPassword:"",
  22. newPasswordAgain:"",
  23. })
  24. // 验证密码格式
  25. const validatePass = (rule, value, callback) => {
  26. if(!inputValidate.isPasswd(value)){
  27. callback("密码格式不正确 6-20位")
  28. }else{
  29. callback()
  30. }
  31. }
  32. // 验证两次新密码是否一致
  33. const validatePassAgain=(rule, value, callback)=>{
  34. if(passform.newPassword!=value){
  35. callback("两次新密码输入不一致")
  36. }else{
  37. callback()
  38. }
  39. }
  40. // 验证规则定义
  41. const updatePasswordRules=reactive({
  42. oldPassword:[
  43. { required: true,message:"必填项",trigger: 'blur'},
  44. { trigger: 'blur' ,validator:validatePass},
  45. ],
  46. newPassword:[
  47. { required: true,message:"必填项",trigger: 'blur'},
  48. { trigger: 'blur' ,validator:validatePass},
  49. ],
  50. newPasswordAgain:[
  51. { required: true,message:"必填项",trigger: 'blur'},
  52. { trigger: 'blur' ,validator:validatePass},
  53. { trigger: 'blur' ,validator:validatePassAgain},
  54. ],
  55. })
  56. // 提交操作
  57. const passformOnSubmit=(updatePasswordRef)=>{
  58. // if(!updatePasswordRef)return
  59. updatePasswordRef.validate((valid)=>{
  60. console.log("提交结果",valid)
  61. if(valid){
  62. console.log("修改密码提交")
  63. }else{
  64. console.log("不可以提交")
  65. return false;
  66. }
  67. })
  68. }
  69. </script>

BLOG

搜索文章