diff --git a/src/index.js b/src/index.js
--- a/src/index.js
+++ b/src/index.js
@@ -251,11 +251,12 @@ class Dayjs {
   }
 
   format(formatStr) {
-    if (!this.isValid()) return C.INVALID_DATE_STRING
+    const locale = this.$locale()
+
+    if (!this.isValid()) return locale.invalidDate || C.INVALID_DATE_STRING
 
     const str = formatStr || C.FORMAT_DEFAULT
     const zoneStr = Utils.z(this)
-    const locale = this.$locale()
     const { $H, $m, $M } = this
     const {
       weekdays, months, meridiem

diff --git a/test/plugin/updateLocale.test.js b/test/plugin/updateLocale.test.js
--- a/test/plugin/updateLocale.test.js
+++ b/test/plugin/updateLocale.test.js
@@ -68,4 +68,15 @@ describe('Update locale', () => {
     expect(dayjs().format(formatString))
       .toEqual(moment().format(formatString))
   })
+
+  it('Update invalid date string', () => {
+    const locale = 'en'
+    const localeSetting = { invalidDate: 'bad date' }
+    dayjs.updateLocale(locale, localeSetting)
+    moment.updateLocale(locale, localeSetting)
+    dayjs.locale(locale)
+    moment.locale(locale)
+    expect(dayjs('').format()).toBe(moment('').format())
+    expect(dayjs('otherString').format()).toBe(moment('otherString').format())
+  })
 })

`dayjs.updateLocale` does not support setting `invalidDate` string
I am migrating a project from Moment.js to Day.js, but this project relies on `updateLocale` to display nullish dates as `-`. I see that Day.js always returns the same constant string when a date is invalid: https://github.com/iamkun/dayjs/blob/0fdac93ff2531542301b76952be9b084b2e2dfa0/src/index.js#L254

Are there any plans to allow this string to be overridden in Day.js? And in the meantime, what's a good workaround?

Below I compare the behavior of Moment.js and Day.js
```js
> const dayjs = require("dayjs");
undefined

> const moment = require("moment");
undefined

> moment(null).format()
'Invalid date'

> dayjs(null).format()
'Invalid Date'

> moment.updateLocale('en', { invalidDate: "-" })
Locale {
  ...
}

> moment(null).format()
'-'

> const updateLocale = require("dayjs/plugin/updateLocale");
undefined

> dayjs.extend(updateLocale);
[Function: v] {
  ...
}

> dayjs.updateLocale('en', { invalidDate: "-" });
{
  name: 'en',
  weekdays: [
    'Sunday',
    'Monday',
    'Tuesday',
    'Wednesday',
    'Thursday',
    'Friday',
    'Saturday'
  ],
  months: [
    'January',   'February',
    'March',     'April',
    'May',       'June',
    'July',      'August',
    'September', 'October',
    'November',  'December'
  ],
  invalidDate: '-'
}

> dayjs(null).format()
'Invalid Date'
```


test/timezone.test.js(1) test/timezone.test.js(2) test/timezone.test.js(3) test/timezone.test.js(4)
test/plugin/updateLocale.test.js