【发布时间】:2020-02-12 08:52:44
【问题描述】:
我正在使用 vee-validate v3.0 进行验证,并且设置进行得很顺利,但现在我正在尝试设置元素的样式,但似乎无法使其正常工作。我遵循了关于样式的非常简短的文档并编辑了 vee-validate 配置,但我注意到 v-slot 现在已更改为类。这让我很困惑,因为 v-slot 已经用于错误,我可以使用多个吗?我希望输入字段使用 input.valid 和 input.invalid。
https://logaretm.github.io/vee-validate/guide/styling.html#classes
Vue 注册组件中的表单
<ValidationProvider rules="required|min" v-slot="{ errors, classes }">
<input
v-model="form.username"
type="text"
id="username"
class="fadeIn second"
:class="classes"
name="login"
placeholder="username"
/>
<span class="form-error">{{ errors[0] }}</span>
</ValidationProvider>
Vue Register 组件中的样式
<style>
input.invalid {
color: red;
}
input.valid {
color: green;
}
</style>
配置
import { configure } from "vee-validate";
configure({
classes: {
valid: "is-valid",
invalid: "is-invalid"
}
});
【问题讨论】:
-
您看到添加到 DOM 元素中的类了吗?看起来您已将其配置为使用
is-valid和is-invalid作为类名,但您的 CSS 中有valid和invalid。 -
@skirtle 它与文档完全一样。但是我改了还是不行。
-
在 dom 中 :class 说touched dirty is-invalidvalidated changed
-
如果您从文档中完全复制代码,它将无法正常工作。它展示了多种不同的场景。这在示例之间的文本中进行了解释。如果您在 DOM 元素上看到
is-invalid(看起来确实如此),那么这意味着您已经配置了一个自定义 CSS 类。您需要更新 CSS 选择器以匹配您已配置的类。
标签: javascript vue.js vee-validate