fix(validate): fix isDateDisabled validator

This commit is contained in:
gerjanvangeest 2019-05-17 10:31:58 +02:00 committed by Thomas Allmer
parent c47d9a2f7d
commit af538b6f3a
17 changed files with 36 additions and 34 deletions

View file

@ -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.

View file

@ -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,

View file

@ -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,
);
});
});

View file

@ -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: {

View file

@ -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: {

View file

@ -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: {

View file

@ -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: {

View file

@ -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: {

View file

@ -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: {

View file

@ -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”.',
},

View file

@ -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: {

View file

@ -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: {

View file

@ -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: {

View file

@ -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: {

View file

@ -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: {

View file

@ -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: {

View file

@ -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: {