如何更改消息"无效日期"在ngx bootstrap datepicker中,不在节点模块中

时间:2018-05-18 16:21:26

标签: angular datepicker locale ngx-bootstrap

我更改了datepicker的语言,但显示的消息仍为英文。我知道它在ngx-bootstrap / chronos / locale / locale.defaults.ts里面,它带来了以下信息

export declare const defaultInvalidDate = "Invalid date";

我还想改变这条消息。是否有任何信息需要添加到"输入[bsConfig] =" ...无论如何,我可以在哪里更改此消息而不移动Node Modules文件夹?谢谢。

2 个答案:

答案 0 :(得分:4)

我终于设法做到了:

您可以导入LocaleData对象和函数defineLocale

import {enGbLocale} from 'ngx-bootstrap/locale';
import {BsLocaleService, defineLocale} from 'ngx-bootstrap';

然后,在构造函数中,您可以访问enGbLocale的每个属性并对其进行修改:

constructor(private localeService: BsLocaleService) {
    enGbLocale.invalidDate = 'Custom label';
    defineLocale('custom locale', enGbLocale); 
    this.localeService.use('custom locale');
}

答案 1 :(得分:0)

创建一个适配器,以将默认的BsDatepickerConfig覆盖为不会触发错误的格式

在包含BsDatePicker的主模块中

@NgModule({
  providers: [
    { provide: BsDatepickerConfig, useFactory: NaoDatepickerConfig },
    ....
  ]
}

nao-date-picker.adapter.ts

import { BsDatepickerConfig } from 'ngx-bootstrap/datepicker';

export function NaoDatepickerConfig(): BsDatepickerConfig {
  return Object.assign(new BsDatepickerConfig(), {
    dateInputFormat: 'YYYY-MM-DD'
  });
}