在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/Java  HTML/ iview 國(guó)際化切換時(shí),如何讓表單驗(yàn)證文字也跟著切換?

iview 國(guó)際化切換時(shí),如何讓表單驗(yàn)證文字也跟著切換?

//validate.js
const format = function() {
    if(arguments.length == 0)
        return null;
    let str = arguments[0];
    for(let i = 1; i < arguments.length; i++) {
        let re = new RegExp('\\{' + (i - 1) + '\\}', 'gm');
        str = str.replace(re, arguments[i]);
    }
    return str;
}

const validate = {
    min(rule, value, callback) {
        value < rule.min ? callback(new Error(format(rule.msg,rule.min))) : callback();
    },
    max(rule, value, callback) {
        value > rule.max ? callback(new Error(format(rule.msg,rule.max))) : callback();
    },
}


//使用
modify.vue
                name: [{
                        required: true,
                        message: 'The name cannot be empty',
                    },
                    {
                        min: 10,
                        msg: this.$t('validate.min'),
                        validator: validate.min
                    },
                    {
                        max: 100,
                        msg: this.$t('validate.max'),
                        validator: validate.max,
                    },
                ],
使用國(guó)際化的時(shí)候,都是使用  $t('翻譯對(duì)象')翻譯好再傳入,這會(huì)導(dǎo)致國(guó)際化切換的時(shí)候,文字都切換了,但是表單驗(yàn)證里面的check提示還是中文
嘗試過(guò)先跳轉(zhuǎn)到一個(gè)空頁(yè)面,再跳回來(lái)刷新,但是這樣非常麻煩,參數(shù)query和parmas也比較長(zhǎng)

 如何在這個(gè)js里面直接翻譯回調(diào)出去呢?(要放在外部引入,公共驗(yàn)證),或者簡(jiǎn)單說(shuō),**如何讓表單里面的check也能跟著語(yǔ)言切換?**
 頁(yè)面是那種品字型結(jié)構(gòu),右上角切換語(yǔ)言,里面的子路由頁(yè)面切換

圖片描述

回答
編輯回答
避風(fēng)港

你把validate相關(guān)的data,放置在computed中就可以更新了

2017年9月2日 02:36
編輯回答
有點(diǎn)壞

你的想法比較大。不過(guò)是實(shí)現(xiàn)不了的,因?yàn)檫@些表單上的文字,如:姓名/郵箱/性別等等這些,每個(gè)人項(xiàng)目或每個(gè)頁(yè)面都不一樣。怎么可能國(guó)際化呢!要想這些都翻譯過(guò)來(lái),就必須根據(jù)自己的實(shí)際情況去配置。配置方式很多種,JSON格式!其他固定當(dāng)然是可以翻譯了。如日期的1到12月 星期一到星期天等等 這些每個(gè)輪子固定的

2018年9月14日 12:24