我正在使用Quasar框架构建一个应用程序。 对于表单验证,我正在使用vuelidate进行验证。
Quasar版本:
» 类星体 Pkg........ v2.0.3
» Pkg @quasar/app... v3.0.3
验证:
“vuelidate”:“^0.7.6”
“类似”的代码在另一个Quasar 1.X应用程序中基本上可以工作,但在Quasar 2.x中失败:
引导配置:
import Vuelidate from 'vuelidate'; export default ({ app }) => { app.use(Vuelidate); };
组件:
<template> <div> <q-input filled label="Tweets" type="text" v-model="$v.tweets.$model" :error="$v.tweets.$error" @blur="$v.tweets.$touch" /> </div> </template> <script> import { defineComponent } from "vue"; import { required, numeric } from "vuelidate/lib/validators"; export default defineComponent({ name: "StatsForm", data() { return { tweets: null, }; }, validations: { tweets: { required, numeric }, }, }); </script>
使用组件的代码:
<template> <q-page class="flex justify-center q-ma-md"> <div class="column"> <h1>Twitter Profile Performance Report</h1> <stats-form /> </div> </q-page> </template> <script> import { defineComponent } from "vue"; import StatsForm from "../components/StatsForm.vue"; export default defineComponent({ name: "PerformanceReport", components: { "stats-form": StatsForm, }, }); </script> <style> h1 { font-size: 2.5em; font-weight: 400; line-height: 1em; } </style>
我在浏览器中得到以下错误:
vue-router.esm-bundler.js?f6c4:3248 ReferenceError: process is not defined at eval (withParams.js?8b99:7) at Object../node_modules/vuelidate/lib/withParams.js (vendor.f2dee45ef25904390a82.hot-update.js:271) at __webpack_require__ (app.js:195) at fn (app.js:460) at eval (common.js?bca9:14) at Object../node_modules/vuelidate/lib/validators/common.js (vendor.f2dee45ef25904390a82.hot-update.js:62) at __webpack_require__ (app.js:195) at fn (app.js:460) at eval (alpha.js?d360:8) at Object../node_modules/vuelidate/lib/validators/alpha.js (vendor.f2dee45ef25904390a82.hot-update.js:18)
Vuelidate v0.7.6 是于2020年10月23日发布的版本,仅与Vue 2兼容。您正在使用Vue 3,这意味着您必须使用Vuelidate v2