How to change the Vee-Validate default error messages?












2














Using Vue.js and Vee-Validate, how can I change the default error messages?



Vee-Validate Example Demos



Out of the box, for the required message, it will display, "The <fieldname> field is required." But I just want all fields that are required to display "Required" instead. I know I can override individual fields but I just want to globally override any field that displays a required error to display "Required".










share|improve this question



























    2














    Using Vue.js and Vee-Validate, how can I change the default error messages?



    Vee-Validate Example Demos



    Out of the box, for the required message, it will display, "The <fieldname> field is required." But I just want all fields that are required to display "Required" instead. I know I can override individual fields but I just want to globally override any field that displays a required error to display "Required".










    share|improve this question

























      2












      2








      2







      Using Vue.js and Vee-Validate, how can I change the default error messages?



      Vee-Validate Example Demos



      Out of the box, for the required message, it will display, "The <fieldname> field is required." But I just want all fields that are required to display "Required" instead. I know I can override individual fields but I just want to globally override any field that displays a required error to display "Required".










      share|improve this question













      Using Vue.js and Vee-Validate, how can I change the default error messages?



      Vee-Validate Example Demos



      Out of the box, for the required message, it will display, "The <fieldname> field is required." But I just want all fields that are required to display "Required" instead. I know I can override individual fields but I just want to globally override any field that displays a required error to display "Required".







      javascript vue.js vee-validate






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Jun 21 at 16:34









      RichC

      60121329




      60121329
























          2 Answers
          2






          active

          oldest

          votes


















          3














          Have a look at Field-specific Custom Messages in the official documentation.



          You basically have to provide a custom dict for each language you want to override.






          share|improve this answer





















          • Ok - yeah, I saw that but was hoping for an easier way. Thanks!
            – RichC
            Jun 21 at 20:25



















          0














          I have found an interesting gist, in fact you just have to override the dictionary. It seems so easy once done...



          Interesting gist : https://gist.github.com/ramadimasatria/1819d4da13afb2ec3c2505f88bb760af



          Setup:




          1. create a js file with your custom messages and a copy-paste of formatFileSize function since you cannot import it from vee-validate.


          In my project, in standard-messages/messages.fr.js (copied from fr.js found at https://github.com/baianat/vee-validate/tree/4738e09c5397a951b9b986a4ce23e248bedcd295/locale):



          const formatFileSize = size => {
          const units = ['Byte', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']
          const threshold = 1024
          size = Number(size) * threshold
          const i = size === 0 ? 0 : Math.floor(Math.log(size) / Math.log(threshold))
          return `${(size / Math.pow(threshold, i)).toFixed(2) * 1} ${units[i]}`
          }

          export default {
          _default: field => `${field} n'est pas valide.`,
          [...]
          }



          1. Now in your validator's config, your custom messages will override default messages:


          My validation/index.js:



          import Vue from 'vue'
          import VeeValidate from 'vee-validate'
          import { messages as frOriginalMessages } from 'vee-validate/dist/locale/fr'
          import { messages as nlOriginalMessages } from 'vee-validate/dist/locale/nl'
          import { messages as deOriginalMessages } from 'vee-validate/dist/locale/de'
          import frAttributes from './attributes/attributes.fr.json'
          import nlAttributes from './attributes/attributes.nl.json'
          import deAttributes from './attributes/attributes.de.json'
          import validators from './validators'
          import frCustomStandardMessages from './standard-messages/messages.fr.js'

          export default {
          configure(currentLocale) {
          Vue.use(VeeValidate, {
          inject: false,
          locale: currentLocale,
          dictionary: {
          fr: { messages: { ...frOriginalMessages, ...frCustomStandardMessages },
          attributes: frAttributes },
          nl: { messages: { ...nlOriginalMessages}, attributes:
          nlAttributes },
          de: { messages: { ...deOriginalMessages}, attributes:
          deAttributes }
          }
          })





          share|improve this answer





















            Your Answer






            StackExchange.ifUsing("editor", function () {
            StackExchange.using("externalEditor", function () {
            StackExchange.using("snippets", function () {
            StackExchange.snippets.init();
            });
            });
            }, "code-snippets");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "1"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f50973521%2fhow-to-change-the-vee-validate-default-error-messages%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            2 Answers
            2






            active

            oldest

            votes








            2 Answers
            2






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            3














            Have a look at Field-specific Custom Messages in the official documentation.



            You basically have to provide a custom dict for each language you want to override.






            share|improve this answer





















            • Ok - yeah, I saw that but was hoping for an easier way. Thanks!
              – RichC
              Jun 21 at 20:25
















            3














            Have a look at Field-specific Custom Messages in the official documentation.



            You basically have to provide a custom dict for each language you want to override.






            share|improve this answer





















            • Ok - yeah, I saw that but was hoping for an easier way. Thanks!
              – RichC
              Jun 21 at 20:25














            3












            3








            3






            Have a look at Field-specific Custom Messages in the official documentation.



            You basically have to provide a custom dict for each language you want to override.






            share|improve this answer












            Have a look at Field-specific Custom Messages in the official documentation.



            You basically have to provide a custom dict for each language you want to override.







            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered Jun 21 at 17:12









            chrisg86

            7,90221023




            7,90221023












            • Ok - yeah, I saw that but was hoping for an easier way. Thanks!
              – RichC
              Jun 21 at 20:25


















            • Ok - yeah, I saw that but was hoping for an easier way. Thanks!
              – RichC
              Jun 21 at 20:25
















            Ok - yeah, I saw that but was hoping for an easier way. Thanks!
            – RichC
            Jun 21 at 20:25




            Ok - yeah, I saw that but was hoping for an easier way. Thanks!
            – RichC
            Jun 21 at 20:25













            0














            I have found an interesting gist, in fact you just have to override the dictionary. It seems so easy once done...



            Interesting gist : https://gist.github.com/ramadimasatria/1819d4da13afb2ec3c2505f88bb760af



            Setup:




            1. create a js file with your custom messages and a copy-paste of formatFileSize function since you cannot import it from vee-validate.


            In my project, in standard-messages/messages.fr.js (copied from fr.js found at https://github.com/baianat/vee-validate/tree/4738e09c5397a951b9b986a4ce23e248bedcd295/locale):



            const formatFileSize = size => {
            const units = ['Byte', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']
            const threshold = 1024
            size = Number(size) * threshold
            const i = size === 0 ? 0 : Math.floor(Math.log(size) / Math.log(threshold))
            return `${(size / Math.pow(threshold, i)).toFixed(2) * 1} ${units[i]}`
            }

            export default {
            _default: field => `${field} n'est pas valide.`,
            [...]
            }



            1. Now in your validator's config, your custom messages will override default messages:


            My validation/index.js:



            import Vue from 'vue'
            import VeeValidate from 'vee-validate'
            import { messages as frOriginalMessages } from 'vee-validate/dist/locale/fr'
            import { messages as nlOriginalMessages } from 'vee-validate/dist/locale/nl'
            import { messages as deOriginalMessages } from 'vee-validate/dist/locale/de'
            import frAttributes from './attributes/attributes.fr.json'
            import nlAttributes from './attributes/attributes.nl.json'
            import deAttributes from './attributes/attributes.de.json'
            import validators from './validators'
            import frCustomStandardMessages from './standard-messages/messages.fr.js'

            export default {
            configure(currentLocale) {
            Vue.use(VeeValidate, {
            inject: false,
            locale: currentLocale,
            dictionary: {
            fr: { messages: { ...frOriginalMessages, ...frCustomStandardMessages },
            attributes: frAttributes },
            nl: { messages: { ...nlOriginalMessages}, attributes:
            nlAttributes },
            de: { messages: { ...deOriginalMessages}, attributes:
            deAttributes }
            }
            })





            share|improve this answer


























              0














              I have found an interesting gist, in fact you just have to override the dictionary. It seems so easy once done...



              Interesting gist : https://gist.github.com/ramadimasatria/1819d4da13afb2ec3c2505f88bb760af



              Setup:




              1. create a js file with your custom messages and a copy-paste of formatFileSize function since you cannot import it from vee-validate.


              In my project, in standard-messages/messages.fr.js (copied from fr.js found at https://github.com/baianat/vee-validate/tree/4738e09c5397a951b9b986a4ce23e248bedcd295/locale):



              const formatFileSize = size => {
              const units = ['Byte', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']
              const threshold = 1024
              size = Number(size) * threshold
              const i = size === 0 ? 0 : Math.floor(Math.log(size) / Math.log(threshold))
              return `${(size / Math.pow(threshold, i)).toFixed(2) * 1} ${units[i]}`
              }

              export default {
              _default: field => `${field} n'est pas valide.`,
              [...]
              }



              1. Now in your validator's config, your custom messages will override default messages:


              My validation/index.js:



              import Vue from 'vue'
              import VeeValidate from 'vee-validate'
              import { messages as frOriginalMessages } from 'vee-validate/dist/locale/fr'
              import { messages as nlOriginalMessages } from 'vee-validate/dist/locale/nl'
              import { messages as deOriginalMessages } from 'vee-validate/dist/locale/de'
              import frAttributes from './attributes/attributes.fr.json'
              import nlAttributes from './attributes/attributes.nl.json'
              import deAttributes from './attributes/attributes.de.json'
              import validators from './validators'
              import frCustomStandardMessages from './standard-messages/messages.fr.js'

              export default {
              configure(currentLocale) {
              Vue.use(VeeValidate, {
              inject: false,
              locale: currentLocale,
              dictionary: {
              fr: { messages: { ...frOriginalMessages, ...frCustomStandardMessages },
              attributes: frAttributes },
              nl: { messages: { ...nlOriginalMessages}, attributes:
              nlAttributes },
              de: { messages: { ...deOriginalMessages}, attributes:
              deAttributes }
              }
              })





              share|improve this answer
























                0












                0








                0






                I have found an interesting gist, in fact you just have to override the dictionary. It seems so easy once done...



                Interesting gist : https://gist.github.com/ramadimasatria/1819d4da13afb2ec3c2505f88bb760af



                Setup:




                1. create a js file with your custom messages and a copy-paste of formatFileSize function since you cannot import it from vee-validate.


                In my project, in standard-messages/messages.fr.js (copied from fr.js found at https://github.com/baianat/vee-validate/tree/4738e09c5397a951b9b986a4ce23e248bedcd295/locale):



                const formatFileSize = size => {
                const units = ['Byte', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']
                const threshold = 1024
                size = Number(size) * threshold
                const i = size === 0 ? 0 : Math.floor(Math.log(size) / Math.log(threshold))
                return `${(size / Math.pow(threshold, i)).toFixed(2) * 1} ${units[i]}`
                }

                export default {
                _default: field => `${field} n'est pas valide.`,
                [...]
                }



                1. Now in your validator's config, your custom messages will override default messages:


                My validation/index.js:



                import Vue from 'vue'
                import VeeValidate from 'vee-validate'
                import { messages as frOriginalMessages } from 'vee-validate/dist/locale/fr'
                import { messages as nlOriginalMessages } from 'vee-validate/dist/locale/nl'
                import { messages as deOriginalMessages } from 'vee-validate/dist/locale/de'
                import frAttributes from './attributes/attributes.fr.json'
                import nlAttributes from './attributes/attributes.nl.json'
                import deAttributes from './attributes/attributes.de.json'
                import validators from './validators'
                import frCustomStandardMessages from './standard-messages/messages.fr.js'

                export default {
                configure(currentLocale) {
                Vue.use(VeeValidate, {
                inject: false,
                locale: currentLocale,
                dictionary: {
                fr: { messages: { ...frOriginalMessages, ...frCustomStandardMessages },
                attributes: frAttributes },
                nl: { messages: { ...nlOriginalMessages}, attributes:
                nlAttributes },
                de: { messages: { ...deOriginalMessages}, attributes:
                deAttributes }
                }
                })





                share|improve this answer












                I have found an interesting gist, in fact you just have to override the dictionary. It seems so easy once done...



                Interesting gist : https://gist.github.com/ramadimasatria/1819d4da13afb2ec3c2505f88bb760af



                Setup:




                1. create a js file with your custom messages and a copy-paste of formatFileSize function since you cannot import it from vee-validate.


                In my project, in standard-messages/messages.fr.js (copied from fr.js found at https://github.com/baianat/vee-validate/tree/4738e09c5397a951b9b986a4ce23e248bedcd295/locale):



                const formatFileSize = size => {
                const units = ['Byte', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']
                const threshold = 1024
                size = Number(size) * threshold
                const i = size === 0 ? 0 : Math.floor(Math.log(size) / Math.log(threshold))
                return `${(size / Math.pow(threshold, i)).toFixed(2) * 1} ${units[i]}`
                }

                export default {
                _default: field => `${field} n'est pas valide.`,
                [...]
                }



                1. Now in your validator's config, your custom messages will override default messages:


                My validation/index.js:



                import Vue from 'vue'
                import VeeValidate from 'vee-validate'
                import { messages as frOriginalMessages } from 'vee-validate/dist/locale/fr'
                import { messages as nlOriginalMessages } from 'vee-validate/dist/locale/nl'
                import { messages as deOriginalMessages } from 'vee-validate/dist/locale/de'
                import frAttributes from './attributes/attributes.fr.json'
                import nlAttributes from './attributes/attributes.nl.json'
                import deAttributes from './attributes/attributes.de.json'
                import validators from './validators'
                import frCustomStandardMessages from './standard-messages/messages.fr.js'

                export default {
                configure(currentLocale) {
                Vue.use(VeeValidate, {
                inject: false,
                locale: currentLocale,
                dictionary: {
                fr: { messages: { ...frOriginalMessages, ...frCustomStandardMessages },
                attributes: frAttributes },
                nl: { messages: { ...nlOriginalMessages}, attributes:
                nlAttributes },
                de: { messages: { ...deOriginalMessages}, attributes:
                deAttributes }
                }
                })






                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Nov 12 at 12:27









                barbara.post

                487621




                487621






























                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.





                    Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


                    Please pay close attention to the following guidance:


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f50973521%2fhow-to-change-the-vee-validate-default-error-messages%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Xamarin.iOS Cant Deploy on Iphone

                    Glorious Revolution

                    Dulmage-Mendelsohn matrix decomposition in Python