el-form-item是一个普通的文本会触发校验码
时间: 2024-01-17 10:40:02 浏览: 204
el-form-item 是一个表单项组件,它本身并不会触发校验。它主要是用来包裹表单的各个输入项,以及定义表单项的布局和样式。在 el-form 中,每个表单项都应该被包裹在一个 el-form-item 组件中,通过设置 el-form-item 的 prop 属性来指定对应的表单项的 name。当整个表单校验时,会遍历 el-form 中所有的 el-form-item,然后根据各个表单项的 rules 属性来进行校验。所以,只有 el-form 中的表单项才会触发校验,而 el-form-item 本身不会触发校验。
相关问题
el-form 表单校验 不要在el-form-item下显示
el-form 是 Element UI 提供的表单组件,用于快构建表单界面。el-form 表单校验是指对表单中的输入内容进行验证,确保用户输入的数据符合预期的格式和要求。
在 el-form 中进行表单校验时,可以通过设置 rules 属性来定义校验规则。每个表单项(el-form-item)可以设置 prop 属性来指定校验规则所对应的字段名。校验规则可以是一个数组,每个规则对象包含 validator 和 message 两个属性,validator 是一个函数,用于自定义校验逻辑,message 是校验失败时显示的错误提示信息。
以下是 el-form 表单校验的示例代码:
```html
<template>
<el-form :model="form" :rules="rules" ref="form">
<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>
<script>
export default {
data() {
return {
form: {
username: '',
password: ''
},
rules: {
username: [
{ required: true, message: '请输入用户名', trigger: 'blur' },
{ min: 3, max: 10, message: '用户名长度在 3 到 10 个字符之间', 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) {
// 表单校验通过,提交表单
// TODO: 提交表单的逻辑
} else {
// 表单校验不通过,显示错误信息
return false;
}
});
}
}
};
</script>
```
在上述示例中,通过设置 rules 属性来定义了两个校验规则,分别对应用户名和密码字段。在 submitForm 方法中,通过调用 this.$refs.form.validate 方法来触发表单校验,校验结果会通过回调函数的参数 valid 返回,如果 valid 为 true,则表示表单校验通过,可以提交表单;如果 valid 为 false,则表示表单校验不通过,需要显示错误信息。
一个el-form-item有多个el-input的表单校验
当一个el-form-item有多个el-input的表单校验时,可以使用数组的方式为每个el-input设置不同的校验规则。下面是一个示例:
```html
<template>
<el-form ref="form" :model="formData" :rules="formRules" label-width="100px">
<el-form-item label="用户名" prop="username">
<el-input v-model="formData.username"></el-input>
</el-form-item>
<el-form-item label="密码" prop="password">
<el-input v-model="formData.password" type="password"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm">提交</el-button>
</el-form-item>
</el-form>
</template>
<script>
export default {
data() {
return {
formData: {
username: '',
password: ''
},
formRules: {
username: [
{ required: true, message: '请输入用户名', trigger: 'blur' },
{ min: 3, max: 10, message: '用户名长度在 3 到 10 个字符', 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) {
// 表单校验通过,执行提交操作
// ...
} else {
// 表单校验不通过,显示错误信息
return false;
}
});
}
}
};
</script>
```
在上面的示例中,我们为每个el-input设置了不同的校验规则。通过在formRules对象中为每个字段设置一个数组,数组中的每个对象表示一个校验规则。每个校验规则对象包含了校验规则的配置,例如required、min、max等,以及对应的错误提示信息和触发校验的事件。在submitForm方法中,我们使用this.$refs.form.validate方法来触发表单校验,并根据校验结果执行相应的操作。
阅读全文