el-form自定义校验规则

这篇具有很好参考价值的文章主要介绍了el-form自定义校验规则。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Vue 的 el-form 组件可以使用自定义校验规则进行表单验证。自定义校验规则可以通过传递一个函数来实现,该函数接受要校验的字段的值作为参数,并返回一个布尔值或一个 Promise 对象。

下面是一个示例,演示如何在 el-form 中使用自定义校验规则:


   
   
  1. <template>
  2.   <el-form ref="form" :model="form" :rules="rules" label-width="80px">
  3.     <el-form-item label="用户名" prop="username" :rules="usernameRules">
  4.       <el-input v-model="form.username"> </el-input>
  5.     </el-form-item>
  6.     <el-form-item>
  7.       <el-button type="primary" @click="submitForm">提交 </el-button>
  8.       <el-button @click="resetForm">重置 </el-button>
  9.     </el-form-item>
  10.   </el-form>
  11. </template>
  12. <script>
  13. export default {
  14.   data( ) {
  15.     return {
  16.       form: {
  17.         username: ''
  18.       },
  19.       rules: {
  20.         username: [
  21.           { required: true, message: '请输入用户名', trigger: 'blur' }
  22.         ]
  23.       }
  24.     };
  25.   },
  26.   methods: {
  27.     submitForm( ) {
  28.       this. $refs. form. validate( valid => {
  29.         if (valid) {
  30.           // 表单验证通过,提交表单
  31.           console. log( '提交表单');
  32.         } else {
  33.           // 表单验证失败,打印错误信息
  34.           console. log( '表单验证失败');
  35.           return false;
  36.         }
  37.       });
  38.     },
  39.     resetForm( ) {
  40.       this. $refs. form. resetFields();
  41.     }
  42.   },
  43.   computed: {
  44.     usernameRules( ) {
  45.       return [
  46.         { required: true, message: '请输入用户名', trigger: 'blur' },
  47.         { validator: this. validateUsername, trigger: 'blur' }
  48.       ];
  49.     }
  50.   },
  51.   methods: {
  52.     validateUsername( rule, value, callback) {
  53.       // 自定义校验规则
  54.       if (value === 'admin') {
  55.         callback( new Error( '用户名已存在'));
  56.       } else {
  57.         callback();
  58.       }
  59.     }
  60.   }
  61. };
  62. </script>

在上述例子中,我们定义了一个表单项 "用户名",并给它设置了两个校验规则,一个是必填规则,一个是自定义规则。自定义规则通过 `validator` 属性指向一个函数,该函数会在校验时调用。函数接受三个参数:`rule` 表示当前字段的验证规则,`value` 表示当前字段的值,`callback` 用来返回校验结果。当校验不通过时,通过调用 `callback` 函数并传递错误消息来报告校验失败。

这只是一个简单的例子,你可以根据你的具体需求来定义更复杂的自定义校验规则。文章来源地址https://www.toymoban.com/news/detail-662127.html

Vue 的 el-form 组件可以使用自定义校验规则进行表单验证。自定义校验规则可以通过传递一个函数来实现,该函数接受要校验的字段的值作为参数,并返回一个布尔值或一个 Promise 对象。

下面是一个示例,演示如何在 el-form 中使用自定义校验规则:


   
   
  1. <template>
  2.   <el-form ref="form" :model="form" :rules="rules" label-width="80px">
  3.     <el-form-item label="用户名" prop="username" :rules="usernameRules">
  4.       <el-input v-model="form.username"> </el-input>
  5.     </el-form-item>
  6.     <el-form-item>
  7.       <el-button type="primary" @click="submitForm">提交 </el-button>
  8.       <el-button @click="resetForm">重置 </el-button>
  9.     </el-form-item>
  10.   </el-form>
  11. </template>
  12. <script>
  13. export default {
  14.   data( ) {
  15.     return {
  16.       form: {
  17.         username: ''
  18.       },
  19.       rules: {
  20.         username: [
  21.           { required: true, message: '请输入用户名', trigger: 'blur' }
  22.         ]
  23.       }
  24.     };
  25.   },
  26.   methods: {
  27.     submitForm( ) {
  28.       this. $refs. form. validate( valid => {
  29.         if (valid) {
  30.           // 表单验证通过,提交表单
  31.           console. log( '提交表单');
  32.         } else {
  33.           // 表单验证失败,打印错误信息
  34.           console. log( '表单验证失败');
  35.           return false;
  36.         }
  37.       });
  38.     },
  39.     resetForm( ) {
  40.       this. $refs. form. resetFields();
  41.     }
  42.   },
  43.   computed: {
  44.     usernameRules( ) {
  45.       return [
  46.         { required: true, message: '请输入用户名', trigger: 'blur' },
  47.         { validator: this. validateUsername, trigger: 'blur' }
  48.       ];
  49.     }
  50.   },
  51.   methods: {
  52.     validateUsername( rule, value, callback) {
  53.       // 自定义校验规则
  54.       if (value === 'admin') {
  55.         callback( new Error( '用户名已存在'));
  56.       } else {
  57.         callback();
  58.       }
  59.     }
  60.   }
  61. };
  62. </script>

在上述例子中,我们定义了一个表单项 "用户名",并给它设置了两个校验规则,一个是必填规则,一个是自定义规则。自定义规则通过 `validator` 属性指向一个函数,该函数会在校验时调用。函数接受三个参数:`rule` 表示当前字段的验证规则,`value` 表示当前字段的值,`callback` 用来返回校验结果。当校验不通过时,通过调用 `callback` 函数并传递错误消息来报告校验失败。

这只是一个简单的例子,你可以根据你的具体需求来定义更复杂的自定义校验规则。

到了这里,关于el-form自定义校验规则的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • (el-Form)操作(不使用 ts):Element-plus 中 Form 表单组件校验规则等的使用

    (el-Form)操作(不使用 ts):Element-plus 中 Form 表单组件校验规则等的使用

    1、 Element-plus 提供 Form 表单组件情况: 其一、 Element-plus 自提供的 Form 代码情况为(示例的代码): 代码地址( 直接点击下面 url 跳转 ):https://element-plus.gitee.io/zh-CN/component/form.html#自定义校验规则 其二、页面的显示情况为: 2、目标想修改后的情况: // 此时虽然页面的样式有些变

    2024年02月13日
    浏览(11)
  • 前端-el-form表单校验,如何校验手机号和身份证号

    分成三部分处理 首先,要在模板的prop里添加校验规则 el-form-item label=\\\"身份证号:\\\" prop=\\\"identificationNumber\\\" 然后申明规则rules identificationNumber:[                 {required: true, validator: validatorIdCard, trigger: \\\'blur\\\'}                 ], phone: [                 { required: true, validator: v

    2024年04月25日
    浏览(15)
  • el-form组件如何清除校验提示(前端技能提升)

    el-form组件如何清除校验提示(前端技能提升)

    在切换radio切换的时候校验提示提示出来了,本身不应该出来但是如何取消呢?因为在切换时候我们置空但是并没有取消校验,所以从通过到拒绝置空时候肯定会出现提示语,那么我们把提示校验的方法去掉就行了。       我们在页面切换的时候使用同一个Form组件,我们就需

    2024年02月04日
    浏览(11)
  • (vue)el-form表单隐藏校验星号

    写法:

    2024年02月08日
    浏览(14)
  • vue实现多个el-form表单提交统一校验

    通过以下两种方法实现多个表单的统一校验: 1. 定义模板内容 在 el-form 表单中添加 ref 属性来获取表单组件对象 2. 方法一 在上述代码中,我们给每个 el-form 表单添加了 ref 属性,分别为 form1 和 form2,在 submit 方法中,分别对两个表单使用 validate 方法进行表单校验 3. 方法二

    2024年02月13日
    浏览(13)
  • Vue - Element el-form 表单对象多层嵌套校验

    针对el-form的数据源是对象嵌套对象,在进行数据绑定和校验时和单层的对象有一点区别, 具体是下面两部分: 数据源: 1、 给 el-form-item 的 prop 设为: prop=\\\"health.height\\\" 。 v-model 设为: v-model=\\\"fromData.health.height\\\" 2、校验规则 rules 对象对应的key设置为数据源内部的值: \\\'health.heig

    2024年02月14日
    浏览(19)
  • vue里el-form+el-table实现验证规则的写法

    重点是因为 使用el-form + el-table 与单独 使用el-form 时 数据不同 ,前者是对象+json数组,后者是对象,导致了 el-form-item绑定prop时的写法不同 以下是el-form+el-table实现验证规则的写法

    2024年02月10日
    浏览(12)
  • el-form单个表单项校验方法;element-ui表单单个选项校验;el-form单个表单校验

    el-form单个表单项校验方法;element-ui表单单个选项校验;el-form单个表单校验

    当我们使用element-ui的el-form时,想在提交表单前对其中一个表单进行验证时就可以使用element自带的方法“validateField” 如图: 使用示例

    2024年02月16日
    浏览(17)
  • 【Element Ui】 vue3中修改el-form的rules后不触发自动校验,再次修改rules时清除验证信息

    【Element Ui】 vue3中修改el-form的rules后不触发自动校验,再次修改rules时清除验证信息

    项目要求:类型为“业务备货”的时候,“客户”为必填项 效果如下: 代码如下: 重点:

    2024年04月12日
    浏览(14)
  • el-form实现其中一个填写即可的校验

    el-form实现其中一个填写即可的校验

       

    2024年02月13日
    浏览(7)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包