• Ajax
  • Ant design
  • Axios-Fetch
  • Avue
  • Browser
  • Canvas
  • CSS
  • Dos-bat
  • Dva
  • Dedecms
  • Echart
  • ElementUI
  • Editors
  • Git
  • GeoServer
  • GIS
  • H5
  • Jquery
  • Java安卓
  • Json
  • Javascript
  • Leaflet
  • Linux
  • Life-Info
  • Mock
  • MongoDB
  • Network
  • NodeJS
  • NPM
  • React
  • 设计运营
  • SEO
  • SVG
  • TypeScript
  • Tools
  • umi
  • uni-APP
  • Vant
  • Vue
  • Windows
  • webpack
  • 位置:OC中文网 > 其他 > ElementUI >

    el-form表单验证规则rules配置参数说明

    来源:openlayers-cesium.com 时间:07-12

    在el-form上面添加下面这三个属性

    1. :model="ruleForm" :rules="rules"  ref="ruleForm"   
    2. :model="ruleForm" 是绑定我们form表单中需要提交给后台的一个对象 
    3. :rules="rules" 是动态绑定的rules,表单验证规则 
    4. ref="ruleForm"  是我们绑定的对象 

     

    1. data(){ 
    2. return{ 
    3. rules: { 
    4.     name:[{ 
    5.         required: true, 
    6.         message: '请输入用户名', 
    7.         trigger: 'blur' 
    8.         },{ 
    9.         min: 2, 
    10.         max: 5, 
    11.         message: '长度在 2 到 5 个字符' 
    12.         },{ 
    13.         pattern: /^[\u4E00-\u9FA5]+$/, 
    14.         message: '用户名只能为中文' 
    15.     } 
    16.         //{ pattern:/^[a-zA-Z]w{1,4}$/, message: '以字母开头,长度在2-5之间, 只能包含字符、数字和下划线'} 
    17.     ], 
    18.     password: [{ 
    19.         required: true, 
    20.         message: '请输入密码', 
    21.         trigger: 'blur' 
    22.     }, { 
    23.         min: 6, 
    24.         max: 30, 
    25.         message: '长度在 6 到 30 个字符' 
    26.     }, { 
    27.         pattern: /^(\w){6,20}$/, 
    28.         message: '只能输入6-20个字母、数字、下划线' 
    29.     }], 
    30.     mobile:[{  
    31.         required: true, 
    32.         message: '请输入手机号码', 
    33.         trigger: 'blur' 
    34.     }, 
    35.     {validator:function(rule,value,callback){ 
    36.             if(/^1[34578]\d{9}$/.test(value) == false){ 
    37.                 callback(new Error("请输入正确的手机号")); 
    38.             }else{ 
    39.                 callback(); 
    40.             } 
    41.         }, trigger: 'blur'} 
    42.     ], 
    43.     //   pattern: /^1[34578]\d{9}$/, message: '目前只支持中国大陆的手机号码' } 
    44.     peopleID:[{ 
    45.         required: true, 
    46.         message: '请输入身份证ID', 
    47.         trigger: 'blur' 
    48.         },{ 
    49.            pattern:/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/, message: '你的身份证格式不正确'  
    50.         } 
    51.     ], 
    52.     carId:[ 
    53.         {required: true, message: '请输入车牌号', trigger: 'blur'},  
    54.         {pattern:/(^[\u4E00-\u9FA5]{1}[A-Z0-9]{6}$)|(^[A-Z]{2}[A-Z0-9]{2}[A-Z0-9\u4E00-\u9FA5]{1}[A-Z0-9]{4}$)|(^[\u4E00-\u9FA5]{1}[A-Z0-9]{5}[挂学警军港澳]{1}$)|(^[A-Z]{2}[0-9]{5}$)|(^(08|38){1}[A-Z0-9]{4}[A-Z0-9挂学警军港澳]{1}$)/, 
    55.          message: '常规格式:晋B12345'}, 
    56.     ], 
    57. }, 

     

    1. <el-form :rules="rules" 
    2.           :model="ruleForm" 
    3.           ref="formRef" 
    4.           label-position="right"> 
    5.      <el-form-item label="车牌号:" 
    6.                    label-width="80px" 
    7.                    prop="plate_number"> 
    8.         <el-input v-model="ruleForm.plate_number"></el-input> 
    9.      </el-form-item> 
    10. </el-form> 
    11. <el-button type="primary" @click="addOrderSubmit(ruleForm)">确定</el-button> 
    12. <script lang="ts"> 
    13. import { defineComponent, ref, reactive, watch, onMounted, unref } from "vue"; 
    14. export default defineComponent({ 
    15.     setup(){ 
    16.         //定义ref 
    17.         const formRef = ref(); 
    18.         //存放表单数据 
    19.         const ruleForm = reactive({plate_number: ""}); 
    20.         //新增订单校验规则 
    21.         const rules = reactive({ 
    22.             plate_number: [{ validator: validatePlate }], 
    23.         }); 
    24.         function addOrderSubmit(e) { 
    25.             //此处的valid为validate函数的回调参数,返回一个布尔值 
    26.             formRef.value.validate((valid: any) => { 
    27.             if (valid) { 
    28.                 console.log("成功回调") 
    29.             } else { 
    30.             return false; 
    31.         } 
    32.       }); 
    33.     } 
    34.     } 
    35. }) 
    36. </script >