From af538b6f3aa9ffe4686ff69aad0ea5caf92049a9 Mon Sep 17 00:00:00 2001 From: gerjanvangeest Date: Fri, 17 May 2019 10:31:58 +0200 Subject: [PATCH] fix(validate): fix isDateDisabled validator --- packages/validate/docs/ValidationSystem.md | 4 +++- packages/validate/src/validators.js | 2 +- packages/validate/test/validators.test.js | 8 ++++---- packages/validate/translations/bg.js | 4 ++-- packages/validate/translations/cs.js | 4 ++-- packages/validate/translations/de.js | 4 ++-- packages/validate/translations/en.js | 4 ++-- packages/validate/translations/es.js | 4 ++-- packages/validate/translations/fr.js | 4 ++-- packages/validate/translations/hu.js | 4 ++-- packages/validate/translations/it.js | 4 ++-- packages/validate/translations/nl.js | 4 ++-- packages/validate/translations/pl.js | 4 ++-- packages/validate/translations/ro.js | 4 ++-- packages/validate/translations/ru.js | 4 ++-- packages/validate/translations/sk.js | 4 ++-- packages/validate/translations/uk.js | 4 ++-- 17 files changed, 36 insertions(+), 34 deletions(-) diff --git a/packages/validate/docs/ValidationSystem.md b/packages/validate/docs/ValidationSystem.md index 9d0f01dad..c0f951918 100644 --- a/packages/validate/docs/ValidationSystem.md +++ b/packages/validate/docs/ValidationSystem.md @@ -58,9 +58,11 @@ By default, the validate system ships with the following validators: - isStringValidator - equalsLengthValidator, minLengthValidator, maxLengthValidator, minMaxLengthValidator - isNumberValidator, minNumberValidator, maxNumberValidator, minMaxNumberValidator -- isDateValidator, minDateValidator, maxDateValidator, minMaxDateValidator +- isDateValidator, minDateValidator, maxDateValidator, minMaxDateValidator, isDateDisabled - isEmailValidator +All validators return `true` if the required validity state is met. + As you can see, 'required' is placed in a string notation. It is the exception to the rule, since the implementation of required is context dependent: it will be different for a regular input than for a (multi)select and therefore not rely on one external function. diff --git a/packages/validate/src/validators.js b/packages/validate/src/validators.js index 69bc2c0af..f4e1152ef 100644 --- a/packages/validate/src/validators.js +++ b/packages/validate/src/validators.js @@ -80,7 +80,7 @@ export const minMaxDateValidator = (...factoryParams) => [ ...factoryParams, ]; -export const isDateDisabled = (value, isDisabledFn) => isDisabledFn(value); +export const isDateDisabled = (value, isDisabledFn) => isDate(value) && !isDisabledFn(value); export const isDateDisabledValidator = (...factoryParams) => [ (...params) => ({ isDateDisabled: isDateDisabled(...params) }), ...factoryParams, diff --git a/packages/validate/test/validators.test.js b/packages/validate/test/validators.test.js index f2972cdfa..b97b060d5 100644 --- a/packages/validate/test/validators.test.js +++ b/packages/validate/test/validators.test.js @@ -131,7 +131,7 @@ describe('LionValidate', () => { expect(isDate(4)).to.be.false; }); - it('provides minDate() to allow only dates earlier then min', () => { + it('provides minDate() to allow only dates after min', () => { expect(minDate(new Date('2018-02-03'), new Date('2018/02/02'))).to.be.true; expect(minDate(new Date('2018-02-01'), new Date('2018/02/02'))).to.be.false; }); @@ -152,8 +152,8 @@ describe('LionValidate', () => { }); it('provides isDateDisabled() to disable dates matching specified condition', () => { - expect(isDateDisabled(new Date('2018/02/03'), d => d.getDate() === 3)).to.be.true; - expect(isDateDisabled(new Date('2018/02/04'), d => d.getDate() === 3)).to.be.false; + expect(isDateDisabled(new Date('2018/02/03'), d => d.getDate() === 3)).to.be.false; + expect(isDateDisabled(new Date('2018/02/04'), d => d.getDate() === 3)).to.be.true; }); it('provides {isDate, minDate, maxDate, minMaxDate, isDateDisabled}Validator factory function for all types', () => { @@ -180,7 +180,7 @@ describe('LionValidate', () => { 'isDateDisabled', isDateDisabledValidator, new Date('2018/02/03'), - d => d.getDate() !== 15, + d => d.getDate() === 15, ); }); }); diff --git a/packages/validate/translations/bg.js b/packages/validate/translations/bg.js index f8e2ae1d7..5d81e04ff 100644 --- a/packages/validate/translations/bg.js +++ b/packages/validate/translations/bg.js @@ -15,7 +15,7 @@ export default { maxDate: 'Моля, въведете {fieldName} преди {validatorParams, date, YYYYMMDD}.', minMaxDate: 'Моля, въведете {fieldName} между {validatorParams.min, date, YYYYMMDD} и {validatorParams.max, date, YYYYMMDD}.', - isDisabledDate: 'Тази дата не е на разположение, моля, изберете друга.', + isDateDisabled: 'Тази дата не е на разположение, моля, изберете друга.', isEmail: 'Моля, въведете валиден {fieldName} с формат "name@example.com".', }, warning: { @@ -34,7 +34,7 @@ export default { maxDate: 'Моля, въведете {fieldName} преди {validatorParams, date, YYYYMMDD}.', minMaxDate: 'Моля, въведете {fieldName} между {validatorParams.min, date, YYYYMMDD} и {validatorParams.max, date, YYYYMMDD}.', - isDisabledDate: 'Тази дата не е на разположение, моля, изберете друга.', + isDateDisabled: 'Тази дата не е на разположение, моля, изберете друга.', isEmail: 'Моля, въведете валиден {fieldName} с формат "name@example.com".', }, success: { diff --git a/packages/validate/translations/cs.js b/packages/validate/translations/cs.js index 4be6cb060..7478f816b 100644 --- a/packages/validate/translations/cs.js +++ b/packages/validate/translations/cs.js @@ -15,7 +15,7 @@ export default { maxDate: 'Zadejte {fieldName} před {validatorParams, date, YYYYMMDD}.', minMaxDate: 'Zadejte {fieldName} od {validatorParams.min, date, YYYYMMDD} do {validatorParams.max, date, YYYYMMDD}.', - isDisabledDate: 'Toto datum je nedostupné, vyberte jiné.', + isDateDisabled: 'Toto datum je nedostupné, vyberte jiné.', isEmail: 'Zadejte platný {fieldName} ve formátu "name@example.com".', }, warning: { @@ -34,7 +34,7 @@ export default { maxDate: 'Zadejte {fieldName} před {validatorParams, date, YYYYMMDD}.', minMaxDate: 'Zadejte {fieldName} od {validatorParams.min, date, YYYYMMDD} do {validatorParams.max, date, YYYYMMDD}.', - isDisabledDate: 'Toto datum je nedostupné, vyberte jiné.', + isDateDisabled: 'Toto datum je nedostupné, vyberte jiné.', isEmail: 'Zadejte platný {fieldName} ve formátu "name@example.com".', }, success: { diff --git a/packages/validate/translations/de.js b/packages/validate/translations/de.js index a8d5b1b4e..e54580bf4 100644 --- a/packages/validate/translations/de.js +++ b/packages/validate/translations/de.js @@ -19,7 +19,7 @@ export default { 'Geben Sie für {fieldName} einen Wert ein, der vor {validatorParams, date, YYYYMMDD} liegt.', minMaxDate: 'Geben Sie für {fieldName} einen Wert zwischen {validatorParams.min, date, YYYYMMDD} und {validatorParams.max, date, YYYYMMDD} ein.', - isDisabledDate: 'Dieses Datum ist nicht verfügbar, bitte wählen Sie ein anderes Datum.', + isDateDisabled: 'Dieses Datum ist nicht verfügbar, bitte wählen Sie ein anderes Datum.', isEmail: 'Geben Sie einen gültige {fieldName} im Format „name@example.com“ ein.', }, warning: { @@ -42,7 +42,7 @@ export default { 'Geben Sie für {fieldName} einen Wert ein, der vor {validatorParams, date, YYYYMMDD} liegt.', minMaxDate: 'Geben Sie für {fieldName} einen Wert zwischen {validatorParams.min, date, YYYYMMDD} und {validatorParams.max, date, YYYYMMDD} ein.', - isDisabledDate: 'Dieses Datum ist nicht verfügbar, bitte wählen Sie ein anderes Datum.', + isDateDisabled: 'Dieses Datum ist nicht verfügbar, bitte wählen Sie ein anderes Datum.', isEmail: 'Geben Sie einen gültige {fieldName} im Format „name@example.com“ ein.', }, success: { diff --git a/packages/validate/translations/en.js b/packages/validate/translations/en.js index 5461c5812..4ed87ba29 100644 --- a/packages/validate/translations/en.js +++ b/packages/validate/translations/en.js @@ -16,7 +16,7 @@ export default { maxDate: 'Please enter a(n) {fieldName} before {validatorParams, date, YYYYMMDD}.', minMaxDate: 'Please enter a {fieldName} between {validatorParams.min, date, YYYYMMDD} and {validatorParams.max, date, YYYYMMDD}.', - isDisabledDate: 'This date is unavailable, please choose another one.', + isDateDisabled: 'This date is unavailable, please choose another one.', isEmail: 'Please enter a valid {fieldName} in the format "name@example.com".', }, warning: { @@ -36,7 +36,7 @@ export default { maxDate: 'Please enter a(n) {fieldName} before {validatorParams, date, YYYYMMDD}.', minMaxDate: 'Please enter a {fieldName} between {validatorParams.min, date, YYYYMMDD} and {validatorParams.max, date, YYYYMMDD}.', - isDisabledDate: 'This date is unavailable, please choose another one.', + isDateDisabled: 'This date is unavailable, please choose another one.', isEmail: 'Please enter a valid {fieldName} in the format "name@example.com".', }, success: { diff --git a/packages/validate/translations/es.js b/packages/validate/translations/es.js index 65540a711..3218f129d 100644 --- a/packages/validate/translations/es.js +++ b/packages/validate/translations/es.js @@ -17,7 +17,7 @@ export default { maxDate: 'Introduzca un/a {fieldName} antes de {validatorParams, date, YYYYMMDD}.', minMaxDate: 'Introduzca un/a {fieldName} entre {validatorParams.min, date, YYYYMMDD} y {validatorParams.max, date, YYYYMMDD}.', - isDisabledDate: 'Esta fecha no está disponible. Elija otra.', + isDateDisabled: 'Esta fecha no está disponible. Elija otra.', isEmail: 'Introduzca un/a {fieldName} válido/a con el formato "nombre@ejemplo.com".', }, warning: { @@ -38,7 +38,7 @@ export default { maxDate: 'Introduzca un/a {fieldName} antes de {validatorParams, date, YYYYMMDD}.', minMaxDate: 'Introduzca un/a {fieldName} entre {validatorParams.min, date, YYYYMMDD} y {validatorParams.max, date, YYYYMMDD}.', - isDisabledDate: 'Esta fecha no está disponible. Elija otra.', + isDateDisabled: 'Esta fecha no está disponible. Elija otra.', isEmail: 'Introduzca un/a {fieldName} válido/a con el formato "nombre@ejemplo.com".', }, success: { diff --git a/packages/validate/translations/fr.js b/packages/validate/translations/fr.js index 541832b9c..a3ee0ca21 100644 --- a/packages/validate/translations/fr.js +++ b/packages/validate/translations/fr.js @@ -18,7 +18,7 @@ export default { maxDate: 'Veuillez indiquer un(e) {fieldName} avant {validatorParams.max, date, YYYYMMDD}.', minMaxDate: 'Veuillez indiquer un(e) {fieldName} entre {validatorParams.min, date, YYYYMMDD} et {validatorParams.max, date, YYYYMMDD}.', - isDisabledDate: "Cette date n'est pas disponible, veuillez en choisir une autre.", + isDateDisabled: "Cette date n'est pas disponible, veuillez en choisir une autre.", isEmail: 'Veuillez indiquer un(e) {fieldName} au format "nom@exemple.com".', }, warning: { @@ -40,7 +40,7 @@ export default { maxDate: 'Veuillez indiquer un(e) {fieldName} avant {validatorParams, date, YYYYMMDD}.', minMaxDate: 'Veuillez indiquer un(e) {fieldName} entre {validatorParams.min, date, YYYYMMDD} et {validatorParams.max, date, YYYYMMDD}.', - isDisabledDate: "Cette date n'est pas disponible, veuillez en choisir une autre.", + isDateDisabled: "Cette date n'est pas disponible, veuillez en choisir une autre.", isEmail: 'Veuillez indiquer un(e) {fieldName} au format "nom@exemple.com".', }, success: { diff --git a/packages/validate/translations/hu.js b/packages/validate/translations/hu.js index 224bbf6c9..257a7a9ac 100644 --- a/packages/validate/translations/hu.js +++ b/packages/validate/translations/hu.js @@ -16,7 +16,7 @@ export default { maxDate: 'Adjon meg egy {validatorParams, date, YYYYMMDD} előtti {fieldName} értéket.', minMaxDate: 'Adjon meg egy {validatorParams.min, date, YYYYMMDD} és {validatorParams.max, date, YYYYMMDD} közötti {fieldName} értéket.', - isDisabledDate: 'Ez a dátum nem áll rendelkezésre, válasszon egy másikat.', + isDateDisabled: 'Ez a dátum nem áll rendelkezésre, válasszon egy másikat.', isEmail: 'Adjon meg egy érvényes {fieldName} értéket, a következő formátumban: „név@példa.com”.', }, @@ -37,7 +37,7 @@ export default { maxDate: 'Adjon meg egy {validatorParams, date, YYYYMMDD} előtti {fieldName} értéket.', minMaxDate: 'Adjon meg egy {validatorParams.min, date, YYYYMMDD} és {validatorParams.max, date, YYYYMMDD} közötti {fieldName} értéket.', - isDisabledDate: 'Ez a dátum nem áll rendelkezésre, válasszon egy másikat.', + isDateDisabled: 'Ez a dátum nem áll rendelkezésre, válasszon egy másikat.', isEmail: 'Adjon meg egy érvényes {fieldName} értéket, a következő formátumban: „név@példa.com”.', }, diff --git a/packages/validate/translations/it.js b/packages/validate/translations/it.js index f57ca4f9c..c4ad5ca92 100644 --- a/packages/validate/translations/it.js +++ b/packages/validate/translations/it.js @@ -16,7 +16,7 @@ export default { maxDate: 'Inserire un(a) {fieldName} prima di {validatorParams, date, YYYYMMDD}.', minMaxDate: 'Inserire un(a) {fieldName} tra {validatorParams.min, date, YYYYMMDD} e {validatorParams.max, date, YYYYMMDD}.', - isDisabledDate: "ТQuesta data non è disponibile, sceglierne un'altra.", + isDateDisabled: "ТQuesta data non è disponibile, sceglierne un'altra.", isEmail: 'Inserire un valore valido per {fieldName} nel formato "name@example.com".', }, warning: { @@ -36,7 +36,7 @@ export default { maxDate: 'Inserire un(a) {fieldName} prima di {validatorParams, date, YYYYMMDD}.', minMaxDate: 'Inserire un(a) {fieldName} tra {validatorParams.min, date, YYYYMMDD} e {validatorParams.max, date, YYYYMMDD}.', - isDisabledDate: "ТQuesta data non è disponibile, sceglierne un'altra.", + isDateDisabled: "ТQuesta data non è disponibile, sceglierne un'altra.", isEmail: 'Inserire un valore valido per {fieldName} nel formato "name@example.com".', }, success: { diff --git a/packages/validate/translations/nl.js b/packages/validate/translations/nl.js index 50abb1928..3868d0b42 100644 --- a/packages/validate/translations/nl.js +++ b/packages/validate/translations/nl.js @@ -15,7 +15,7 @@ export default { maxDate: 'Vul een {fieldName} in voor {validatorParams, date, YYYYMMDD}.', minMaxDate: 'Vul een {fieldName} in tussen {validatorParams.min, date, YYYYMMDD} en {validatorParams.max, date, YYYYMMDD}.', - isDisabledDate: 'Deze datum is niet mogelijk, kies een andere.', + isDateDisabled: 'Deze datum is niet mogelijk, kies een andere.', isEmail: 'Vul een {fieldName} in formaat "name@example.com".', }, warning: { @@ -34,7 +34,7 @@ export default { maxDate: 'Vul een {fieldName} in voor {validatorParams, date, YYYYMMDD}.', minMaxDate: 'Vul een {fieldName} in tussen {validatorParams.min, date, YYYYMMDD} en {validatorParams.max, date, YYYYMMDD}.', - isDisabledDate: 'Deze datum is niet mogelijk, kies een andere.', + isDateDisabled: 'Deze datum is niet mogelijk, kies een andere.', isEmail: 'Vul een {fieldName} in formaat "name@example.com".', }, success: { diff --git a/packages/validate/translations/pl.js b/packages/validate/translations/pl.js index 051cb8a27..13031f1a1 100644 --- a/packages/validate/translations/pl.js +++ b/packages/validate/translations/pl.js @@ -19,7 +19,7 @@ export default { 'Proszę podać wartość {fieldName} przypadającą przed {validatorParams, date, YYYYMMDD}.', minMaxDate: 'Proszę podać wartość {fieldName} między {validatorParams.min, date, YYYYMMDD} a {validatorParams.max, date, YYYYMMDD}.', - isDisabledDate: 'Ta data jest niedostępna, wybierz inną.', + isDateDisabled: 'Ta data jest niedostępna, wybierz inną.', isEmail: 'Proszę podać prawidłowy {fieldName} w formacie „nazwa@example.com”.', }, warning: { @@ -42,7 +42,7 @@ export default { 'Proszę podać wartość {fieldName} przypadającą przed {validatorParams, date, YYYYMMDD}.', minMaxDate: 'Proszę podać wartość {fieldName} między {validatorParams.min, date, YYYYMMDD} a {validatorParams.max, date, YYYYMMDD}.', - isDisabledDate: 'Ta data jest niedostępna, wybierz inną.', + isDateDisabled: 'Ta data jest niedostępna, wybierz inną.', isEmail: 'Proszę podać prawidłowy {fieldName} w formacie „nazwa@example.com”.', }, success: { diff --git a/packages/validate/translations/ro.js b/packages/validate/translations/ro.js index b4476e3a0..1b4135cfa 100644 --- a/packages/validate/translations/ro.js +++ b/packages/validate/translations/ro.js @@ -17,7 +17,7 @@ export default { maxDate: 'Introduceți un/o {fieldName} înainte de {validatorParams, date, YYYYMMDD}.', minMaxDate: 'Introduceți un/o {fieldName} cuprins(ă) între {validatorParams.min, date, YYYYMMDD} și {validatorParams.max, date, YYYYMMDD}.', - isDisabledDate: 'Această dată nu este disponibilă, alegeți alta.', + isDateDisabled: 'Această dată nu este disponibilă, alegeți alta.', isEmail: 'Introduceți un/o {fieldName} valid(ă) în formatul „nume@exemplu.com”.', }, warning: { @@ -38,7 +38,7 @@ export default { maxDate: 'Introduceți un/o {fieldName} înainte de {validatorParams, date, YYYYMMDD}.', minMaxDate: 'Introduceți un/o {fieldName} cuprins(ă) între {validatorParams.min, date, YYYYMMDD} și {validatorParams.max, date, YYYYMMDD}.', - isDisabledDate: 'Această dată nu este disponibilă, alegeți alta.', + isDateDisabled: 'Această dată nu este disponibilă, alegeți alta.', isEmail: 'Introduceți un/o {fieldName} valid(ă) în formatul „nume@exemplu.com”.', }, success: { diff --git a/packages/validate/translations/ru.js b/packages/validate/translations/ru.js index 731936f84..4be792ae6 100644 --- a/packages/validate/translations/ru.js +++ b/packages/validate/translations/ru.js @@ -16,7 +16,7 @@ export default { maxDate: 'Введите значение поля {fieldName} до {validatorParams, date, YYYYMMDD}.', minMaxDate: 'Введите значение поля {fieldName} от {validatorParams.min, date, YYYYMMDD} до {validatorParams.max, date, YYYYMMDD}.', - isDisabledDate: 'Эта дата недоступна, выберите другой вариант.', + isDateDisabled: 'Эта дата недоступна, выберите другой вариант.', isEmail: 'Введите действительное значение поля {fieldName} в формате «name@example.com».', }, warning: { @@ -36,7 +36,7 @@ export default { maxDate: 'Введите значение поля {fieldName} до {validatorParams, date, YYYYMMDD}.', minMaxDate: 'Введите значение поля {fieldName} от {validatorParams.min, date, YYYYMMDD} до {validatorParams.max, date, YYYYMMDD}.', - isDisabledDate: 'Эта дата недоступна, выберите другой вариант.', + isDateDisabled: 'Эта дата недоступна, выберите другой вариант.', isEmail: 'Введите действительное значение поля {fieldName} в формате «name@example.com».', }, success: { diff --git a/packages/validate/translations/sk.js b/packages/validate/translations/sk.js index 3a623364a..cffeeaa24 100644 --- a/packages/validate/translations/sk.js +++ b/packages/validate/translations/sk.js @@ -16,7 +16,7 @@ export default { maxDate: 'Uveďte {fieldName} skôr ako {validatorParams, date, YYYYMMDD}.', minMaxDate: 'Uveďte {fieldName} od {validatorParams.min, date, YYYYMMDD} do {validatorParams.max, date, YYYYMMDD}.', - isDisabledDate: 'Tento dátum je nedostupný, vyberte iný.', + isDateDisabled: 'Tento dátum je nedostupný, vyberte iný.', isEmail: 'Uveďte platnú položku {fieldName} vo formáte „meno@príklad.com“.', }, warning: { @@ -36,7 +36,7 @@ export default { maxDate: 'Uveďte {fieldName} skôr ako {validatorParams, date, YYYYMMDD}.', minMaxDate: 'Uveďte {fieldName} od {validatorParams.min, date, YYYYMMDD} do {validatorParams.max, date, YYYYMMDD}.', - isDisabledDate: 'Tento dátum je nedostupný, vyberte iný.', + isDateDisabled: 'Tento dátum je nedostupný, vyberte iný.', isEmail: 'Uveďte platnú položku {fieldName} vo formáte „meno@príklad.com“.', }, success: { diff --git a/packages/validate/translations/uk.js b/packages/validate/translations/uk.js index c0eeb3bd5..3c8169e7f 100644 --- a/packages/validate/translations/uk.js +++ b/packages/validate/translations/uk.js @@ -17,7 +17,7 @@ export default { maxDate: 'Уведіть значення {fieldName} перед {validatorParams, date, YYYYMMDD}.', minMaxDate: 'Уведіть значення {fieldName} між {validatorParams.min, date, YYYYMMDD} та {validatorParams.max, date, YYYYMMDD}.', - isDisabledDate: 'Ця дата недоступна, виберіть іншу.', + isDateDisabled: 'Ця дата недоступна, виберіть іншу.', isEmail: 'Уведіть допустиме значення {fieldName} у форматі name@example.com.', }, warning: { @@ -38,7 +38,7 @@ export default { maxDate: 'Уведіть значення {fieldName} перед {validatorParams, date, YYYYMMDD}.', minMaxDate: 'Уведіть значення {fieldName} між {validatorParams.min, date, YYYYMMDD} та {validatorParams.max, date, YYYYMMDD}.', - isDisabledDate: 'Ця дата недоступна, виберіть іншу.', + isDateDisabled: 'Ця дата недоступна, виберіть іншу.', isEmail: 'Уведіть допустиме значення {fieldName} у форматі name@example.com.', }, success: {