如何在不在节点模块中的情况下更改 ngx bootstrap 日期选择器中的消息 "Invalid Date"

How to change message "Invalid Date" in ngx bootstrap datepicker without being in node modules

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

export declare const defaultInvalidDate = "Invalid date";

我也想更改此消息。有没有我必须添加到 "input [bsConfig] =" 的信息...无论如何,在不移动 Node Modules 文件夹的情况下,我可以在哪里更改此消息?谢谢。

我终于成功了:

您可以导入 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');
}

创建适配器以将默认 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'
  });
}