ElementPlus的表单校验

一、普通的规则校验

<!-- 通过model绑定需要校验的表单,这个表单里面的数据在输入框中由v-model获取 -->
<!-- 通过rules绑定校验规则 -->
<el-form class="login_form" :model="loginForm" :rules="rules" ref="loginForms">
     <el-form-item prop="username">
     	<el-input  placeholder="请输入用户名" v-model="loginForm.username"></el-input>
     </el-form-item>
     <el-form-item prop="password">
          <el-input type="password"  placeholder="请输入密码" v-model="loginForm.password" ></el-input>
     </el-form-item>
     <el-form-item>
          <el-button type="primary" class="login_button" @click="login">登录</el-button>
	</el-form-item>
<el-form>

以下是表单校验的配置对象,最后还需要在发送请求前对表单整体进行校验

// 定义表单校验配置对象
const rules = {
    username:[
        {required:true,min:6,max:10,message:'用户名长度应该在6到10位',trigger:'change'}
    ],
    password:[
        {required:true,min:6,max:6,message:'密码错误',trigger:'change'}
    ]
}
//发送请求前,保证全部表单校验通过后再发请求
await loginForms.value.validate()

二、自定义规则校验
自定义规则需要配置validator函数(要写在rules之前,否则会报错)

//自定义校验规则函数validatorUserName
//rule校验规则对象、value表单输入内容、callback符合条件callback放行(不符合callback注入错误信息)
const validatorUsername = (rule: any, value: any, callback: any) => {
	//使用正则表达式
    if(/^d{4,10}$/.test(value)){
        callback()
    }else{
        callback(new Error('用户名应该在6到10位'))
    }
}
const validatorPassword = (rule: any, value: any, callback: any) => {
    if(value.length >=6 ){
        callback()
    }else{
        callback(new Error('密码应该在6到15位'))
    }
}
// 定义表单校验配置对象
const rules = {
    username:[
        {trigger:'change',validator:validatorUsername}
    ],
    password:[
        {trigger:'change',validator:validatorPassword}
    ]
}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于 Element Plus 表单校验,你可以通过使用内置的校验规则和自定义校验函数来实现。下面是一个简单的示例: 首先,确保你已经正确引入 Element Plus 的表单组件和样式。然后,在表单中使用 `el-form` 和 `el-form-item` 组件包裹你的表单项。 ```html <template> <el-form :model="form" ref="form" :rules="rules" label-width="120px"> <el-form-item label="用户名" prop="username"> <el-input v-model="form.username"></el-input> </el-form-item> <el-form-item label="密码" prop="password"> <el-input type="password" v-model="form.password"></el-input> </el-form-item> <el-form-item> <el-button type="primary" @click="submitForm">提交</el-button> </el-form-item> </el-form> </template> ``` 接下来,在你的 Vue 组件中定义表单的数据模型 (`form`) 和校验规则 (`rules`): ```javascript export default { data() { return { form: { username: '', password: '' }, rules: { username: [ { required: true, message: '请输入用户名', trigger: 'blur' } ], password: [ { required: true, message: '请输入密码', trigger: 'blur' }, { min: 6, max: 20, message: '密码长度在 6 到 20 个字符', trigger: 'blur' } ] } }; }, methods: { submitForm() { this.$refs.form.validate((valid) => { if (valid) { // 表单校验通过,可以进行提交操作 console.log('表单校验通过'); } else { // 表单校验不通过,显示错误信息 console.log('表单校验不通过'); } }); } } }; ``` 在上述代码中,我们定义了 `form` 对象来存储表单数据,并使用 `rules` 对象定义了校验规则。`el-form-item` 组件的 `prop` 属性对应了 `rules` 对象中的属性名。 最后,我们在 `submitForm` 方法中调用了 `this.$refs.form.validate` 来触发表单校验。如果校验通过,可以在回调函数中执行提交操作;如果校验不通过,可以在回调函数中处理错误信息。 这是一个简单的 Element Plus 表单校验的示例,你可以根据实际需求进行扩展和定制。希望对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值