我正在使用 Vuetify 和 Vee-Validate。我在我的组件中导入 vee-validate 和规则:
import { ValidationProvider, extend } from 'vee-validate';
import { min_value } from 'vee-validate/dist/rules';
extend('min_value', {
...min_value,
message: "Must be higher than {length}"
});
Run Code Online (Sandbox Code Playgroud)
然后我有以下内容template:
<ValidationProvider :rules="`min_value:${obj.min[selectedUnit]}`" v-slot="{ errors }">
<v-text-field
v-model="obj.value[selectedUnit]"
:label="key"
ref="key"
:min="obj.min[selectedUnit]"
:max="obj.max[selectedUnit]"
:error-messages="errors"
:suffix="selectedUnit"
outlined
required
type="number"
></v-text-field>
</ValidationProvider>
Run Code Online (Sandbox Code Playgroud)
该规则有效,但{length}参数未转换为数字。
最后,在文档中它说min_value是推断的。但是当我不提供rules道具时它根本不起作用。来源https://logaretm.github.io/vee-validate/guide/rules.html#rules
我的 Postgres DB 有 2 个表,每个表有数千行,最初是通过以下迁移创建的:
exports.up = async function(knex, Promise) {
// users
await knex.schema.createTable('users', table => {
table.increments('id');
table.timestamps(false, true);
table.text('uid').notNullable().unique(),
table.text('email').notNullable();
table.text('password');
table.text('first_name').notNullable();
table.text('last_name').notNullable();
table.text('subscription_id');
table.boolean('is_active').notNullable().defaultTo(true);
table.boolean('is_blocked').notNullable().defaultTo(false);
table.enum('role', ['member', 'admin', 'test_user']).notNullable().defaultTo('member');
});
await knex.schema.raw('create unique index users_lower_email_index on users (lower(email))');
// projects
await knex.schema.createTable('projects', table => {
table.increments('id');
table.timestamps(false, true);
table.text('name').notNullable();
table.integer('user_id').notNullable().references('users.id').onDelete('cascade');
table.text('data');
});
};
Run Code Online (Sandbox Code Playgroud)
我需要更改表上的外键projects,以便它引用该uid列而不是users表中的列。
我尝试了以下迁移,但收到错误:
迁移失败并出现错误:更改表“用户”添加列“uid”文本 - 关系“用户”的列“uid”已存在
我的代码:
exports.up = async function(knex, Promise) {
await …Run Code Online (Sandbox Code Playgroud)