feat(validate): added disabledDatesValidator

This commit is contained in:
Thijs Louisse 2019-05-15 16:53:30 +02:00 committed by Thomas Allmer
parent 4ee8b8f0df
commit 14df4fce1c
17 changed files with 51 additions and 1 deletions

View file

@ -1,9 +1,12 @@
export { ValidateMixin } from './src/ValidateMixin.js';
export { Unparseable } from './src/Unparseable.js';
export { isValidatorApplied } from './src/isValidatorApplied.js';
export {
defaultOk,
defaultOkValidator,
isDateDisabled,
isDateDisabledValidator,
equalsLength,
equalsLengthValidator,
isDate,

View file

@ -80,6 +80,12 @@ export const minMaxDateValidator = (...factoryParams) => [
...factoryParams,
];
export const isDateDisabled = (value, isDisabledFn) => isDisabledFn(value);
export const isDateDisabledValidator = (...factoryParams) => [
(...params) => ({ isDateDisabled: isDateDisabled(...params) }),
...factoryParams,
];
export const randomOk = () => false;
export const randomOkValidator = () => [(...params) => ({ randomOk: randomOk(...params) })];

View file

@ -25,11 +25,13 @@ import {
isDate,
minDate,
maxDate,
isDateDisabled,
minMaxDate,
isDateValidator,
minDateValidator,
maxDateValidator,
minMaxDateValidator,
isDateDisabledValidator,
randomOk,
defaultOk,
randomOkValidator,
@ -149,7 +151,12 @@ describe('LionValidate', () => {
expect(minMaxDate(new Date('2018/02/05'), minMaxSetting)).to.be.false;
});
it('provides {isDate, minDate, maxDate, minMaxDate}Validator factory function for all types', () => {
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;
});
it('provides {isDate, minDate, maxDate, minMaxDate, isDateDisabled}Validator factory function for all types', () => {
// do a smoke test for each type
smokeTestValidator('isDate', isDateValidator, new Date());
smokeTestValidator(
@ -169,6 +176,12 @@ describe('LionValidate', () => {
max: new Date('2018/02/04'),
};
smokeTestValidator('minMaxDate', minMaxDateValidator, new Date('2018/02/03'), minMaxSetting);
smokeTestValidator(
'isDateDisabled',
isDateDisabledValidator,
new Date('2018/02/03'),
d => d.getDate() !== 15,
);
});
});

View file

@ -15,6 +15,7 @@ export default {
maxDate: 'Моля, въведете {fieldName} преди {validatorParams, date, YYYYMMDD}.',
minMaxDate:
'Моля, въведете {fieldName} между {validatorParams.min, date, YYYYMMDD} и {validatorParams.max, date, YYYYMMDD}.',
isDisabledDate: 'Тази дата не е на разположение, моля, изберете друга.',
isEmail: 'Моля, въведете валиден {fieldName} с формат "name@example.com".',
},
warning: {
@ -33,6 +34,7 @@ export default {
maxDate: 'Моля, въведете {fieldName} преди {validatorParams, date, YYYYMMDD}.',
minMaxDate:
'Моля, въведете {fieldName} между {validatorParams.min, date, YYYYMMDD} и {validatorParams.max, date, YYYYMMDD}.',
isDisabledDate: 'Тази дата не е на разположение, моля, изберете друга.',
isEmail: 'Моля, въведете валиден {fieldName} с формат "name@example.com".',
},
success: {

View file

@ -15,6 +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é.',
isEmail: 'Zadejte platný {fieldName} ve formátu "name@example.com".',
},
warning: {
@ -33,6 +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é.',
isEmail: 'Zadejte platný {fieldName} ve formátu "name@example.com".',
},
success: {

View file

@ -19,6 +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.',
isEmail: 'Geben Sie einen gültige {fieldName} im Format „name@example.com“ ein.',
},
warning: {
@ -41,6 +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.',
isEmail: 'Geben Sie einen gültige {fieldName} im Format „name@example.com“ ein.',
},
success: {

View file

@ -16,6 +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.',
isEmail: 'Please enter a valid {fieldName} in the format "name@example.com".',
},
warning: {
@ -35,6 +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.',
isEmail: 'Please enter a valid {fieldName} in the format "name@example.com".',
},
success: {

View file

@ -17,6 +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.',
isEmail: 'Introduzca un/a {fieldName} válido/a con el formato "nombre@ejemplo.com".',
},
warning: {
@ -37,6 +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.',
isEmail: 'Introduzca un/a {fieldName} válido/a con el formato "nombre@ejemplo.com".',
},
success: {

View file

@ -18,6 +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.",
isEmail: 'Veuillez indiquer un(e) {fieldName} au format "nom@exemple.com".',
},
warning: {
@ -39,6 +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.",
isEmail: 'Veuillez indiquer un(e) {fieldName} au format "nom@exemple.com".',
},
success: {

View file

@ -16,6 +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.',
isEmail:
'Adjon meg egy érvényes {fieldName} értéket, a következő formátumban: „név@példa.com”.',
},
@ -36,6 +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.',
isEmail:
'Adjon meg egy érvényes {fieldName} értéket, a következő formátumban: „név@példa.com”.',
},

View file

@ -16,6 +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.",
isEmail: 'Inserire un valore valido per {fieldName} nel formato "name@example.com".',
},
warning: {
@ -35,6 +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.",
isEmail: 'Inserire un valore valido per {fieldName} nel formato "name@example.com".',
},
success: {

View file

@ -15,6 +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.',
isEmail: 'Vul een {fieldName} in formaat "name@example.com".',
},
warning: {
@ -33,6 +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.',
isEmail: 'Vul een {fieldName} in formaat "name@example.com".',
},
success: {

View file

@ -19,6 +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ą.',
isEmail: 'Proszę podać prawidłowy {fieldName} w formacie „nazwa@example.com”.',
},
warning: {
@ -41,6 +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ą.',
isEmail: 'Proszę podać prawidłowy {fieldName} w formacie „nazwa@example.com”.',
},
success: {

View file

@ -17,6 +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.',
isEmail: 'Introduceți un/o {fieldName} valid(ă) în formatul „nume@exemplu.com”.',
},
warning: {
@ -37,6 +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.',
isEmail: 'Introduceți un/o {fieldName} valid(ă) în formatul „nume@exemplu.com”.',
},
success: {

View file

@ -16,6 +16,7 @@ export default {
maxDate: 'Введите значение поля {fieldName} до {validatorParams, date, YYYYMMDD}.',
minMaxDate:
'Введите значение поля {fieldName} от {validatorParams.min, date, YYYYMMDD} до {validatorParams.max, date, YYYYMMDD}.',
isDisabledDate: 'Эта дата недоступна, выберите другой вариант.',
isEmail: 'Введите действительное значение поля {fieldName} в формате «name@example.com».',
},
warning: {
@ -35,6 +36,7 @@ export default {
maxDate: 'Введите значение поля {fieldName} до {validatorParams, date, YYYYMMDD}.',
minMaxDate:
'Введите значение поля {fieldName} от {validatorParams.min, date, YYYYMMDD} до {validatorParams.max, date, YYYYMMDD}.',
isDisabledDate: 'Эта дата недоступна, выберите другой вариант.',
isEmail: 'Введите действительное значение поля {fieldName} в формате «name@example.com».',
},
success: {

View file

@ -16,6 +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ý.',
isEmail: 'Uveďte platnú položku {fieldName} vo formáte „meno@príklad.com“.',
},
warning: {
@ -35,6 +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ý.',
isEmail: 'Uveďte platnú položku {fieldName} vo formáte „meno@príklad.com“.',
},
success: {

View file

@ -17,6 +17,7 @@ export default {
maxDate: 'Уведіть значення {fieldName} перед {validatorParams, date, YYYYMMDD}.',
minMaxDate:
'Уведіть значення {fieldName} між {validatorParams.min, date, YYYYMMDD} та {validatorParams.max, date, YYYYMMDD}.',
isDisabledDate: 'Ця дата недоступна, виберіть іншу.',
isEmail: 'Уведіть допустиме значення {fieldName} у форматі name@example.com.',
},
warning: {
@ -37,6 +38,7 @@ export default {
maxDate: 'Уведіть значення {fieldName} перед {validatorParams, date, YYYYMMDD}.',
minMaxDate:
'Уведіть значення {fieldName} між {validatorParams.min, date, YYYYMMDD} та {validatorParams.max, date, YYYYMMDD}.',
isDisabledDate: 'Ця дата недоступна, виберіть іншу.',
isEmail: 'Уведіть допустиме значення {fieldName} у форматі name@example.com.',
},
success: {