如何为一个 Vue 组件重新定义 Vee Validate 错误消息?

Ky6*_*6uk 6 vue.js vee-validate

我有一个全局验证规则,例如:

import { extend } from 'vee-validate';
import { required } from 'vee-validate/dist/rules';

extend('required', {
  ...required,
  message: 'Please fill the field'
});
Run Code Online (Sandbox Code Playgroud)

该规则适用于项目中的所有 Vue 组件。但对于一个确切的组件,我需要将消息重新定义Please fill the field为另一个组件。是否可以只更改一个 Vue 组件的消息?

小智 8

您可以使用prop为每个ValidationProvider组件指定特定消息custom-messages

<ValidationProvider rules="required" :custom-messages="{ required: 'required message' }">
  <!-- ... -->
</ValidationProvider>
Run Code Online (Sandbox Code Playgroud)

您可以将其提取到 data prop 上并将其用于组件中的提供程序:

<template>
  <ValidationProvider rules="required" :custom-messages="customMessages">
    <!-- ... -->
  </ValidationProvider>

  <ValidationProvider rules="required" :custom-messages="customMessages">
    <!-- ... -->
  </ValidationProvider>
</template>

<script>
export default {
 // ....
 data: () => ({
    customMessages: {
      required: 'custom message'
    }
  }),
  // ...
};
</script>
Run Code Online (Sandbox Code Playgroud)