Skip to content

Commit

Permalink
♻️ vue-dot: Use isDateAfterValue function in notAfterToday rule (#1826)
Browse files Browse the repository at this point in the history
  • Loading branch information
deraw authored Mar 2, 2022
1 parent b492d5f commit ec57ba7
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 27 deletions.
5 changes: 3 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
- **types:** Ajout de la propriété `resetValidation` à l'interface `VForm` ([#1812](https://github.com/assurance-maladie-digital/design-system/pull/1812)) ([ac7ab8f](https://github.com/assurance-maladie-digital/design-system/commit/ac7ab8f83fc2d49e9d9734991f719aea1a4b9df3))
- **rules:** Ajout de l'option `ignoreSpaces` à la règle de validation `minLength` ([#1815](https://github.com/assurance-maladie-digital/design-system/pull/1815)) ([f8583ba](https://github.com/assurance-maladie-digital/design-system/commit/f8583bacd2503031fd1c66af4a1bf7c81085f004))
- **rules:** Ajout de l'option `ignoreSpaces` à la règle de validation `maxLength` ([#1816](https://github.com/assurance-maladie-digital/design-system/pull/1816)) ([3cc84dd](https://github.com/assurance-maladie-digital/design-system/commit/3cc84dd7f039a3dd86805fe08fd885c9ef9017ba))
- **rules:** Ajout de la règle de validation `notAfterDate` ([#1823](https://github.com/assurance-maladie-digital/design-system/pull/1823)) ([60fca18](https://github.com/assurance-maladie-digital/design-system/commit/60fca18c5d49debd27aa51d73e686abb3c7c0e9b)
- **rules:** Ajout de la règle de validation `notBeforeDate` ([#18234](https://github.com/assurance-maladie-digital/design-system/pull/18234))
- **rules:** Ajout de la règle de validation `notAfterDate` ([#1823](https://github.com/assurance-maladie-digital/design-system/pull/1823)) ([60fca18](https://github.com/assurance-maladie-digital/design-system/commit/60fca18c5d49debd27aa51d73e686abb3c7c0e9b))
- **rules:** Ajout de la règle de validation `notBeforeDate` ([#18234](https://github.com/assurance-maladie-digital/design-system/pull/18234)) ([b492d5f](https://github.com/assurance-maladie-digital/design-system/commit/b492d5f73c9bcf92dd4ba6287dac0e36ff767f5e))

- 🐛 **Corrections de bugs**
- **NotificationBar:** Correction de l'affichage sur les écrans mobiles ([#1675](https://github.com/assurance-maladie-digital/design-system/pull/1675)) ([b18214c](https://github.com/assurance-maladie-digital/design-system/commit/b18214ce5646382b281adb62fe96896b588f27df))
Expand All @@ -34,6 +34,7 @@
- **HeaderBar:** Refonte du bouton pour activer le menu sur les écrans mobiles ([#1726](https://github.com/assurance-maladie-digital/design-system/pull/1726)) ([50e0938](https://github.com/assurance-maladie-digital/design-system/commit/50e09381f38102e42ab321a3915607efbd111ebe))
- **HeaderBar:** Ajout des props `show-nav-bar-menu-btn` et `mobile-version` ([#1728](https://github.com/assurance-maladie-digital/design-system/pull/1728)) ([9997290](https://github.com/assurance-maladie-digital/design-system/commit/999729041137d56a73383195f873ef39c82954f9))
- **FranceConnectBtn:** Renommage de la prop `icon-text` en `label` ([#1760](https://github.com/assurance-maladie-digital/design-system/pull/1760)) ([db19524](https://github.com/assurance-maladie-digital/design-system/commit/db1952423d4ef2037f9b0fea8a5b309276c0a520))
- **rules:** Utilisation de la fonction `isDateAfterValue` dans la règle de validation `notAfterToday` ([#1823](https://github.com/assurance-maladie-digital/design-system/pull/1823)) ([60fca18](https://github.com/assurance-maladie-digital/design-system/commit/60fca18c5d49debd27aa51d73e686abb3c7c0e9b))

- 🔥 **Suppressions**
- **tests:** Suppression des commentaires inutiles ([#1808](https://github.com/assurance-maladie-digital/design-system/pull/1808)) ([d2031dc](https://github.com/assurance-maladie-digital/design-system/commit/d2031dc218160ce70ccb3161f4bfe724f56abc57))
Expand Down
4 changes: 4 additions & 0 deletions packages/vue-dot/src/constants/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import dayjs from 'dayjs';
import { formatDate } from '../functions/formatDate';

export const TODAY = formatDate(dayjs());
10 changes: 4 additions & 6 deletions packages/vue-dot/src/rules/notAfterToday/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,22 @@ import { ValidationRule, ValidationResult, ErrorMessages, Value } from '../types

import { defaultErrorMessages } from './locales';

import { isDateBeforeNow } from './isDateBeforeNow';
import { isDateAfterValue } from '../../functions/isDateAfterValue';
import { TODAY } from '../../constants';

/**
* Check that the date is not after today (expects ##/##/#### format)
* Check that the date is not after today (expects DD/MM/YYYY format)
*
* @param {ErrorMessages} [errorMessages] Custom error messages
* @returns {ValidationRule} Validation result
*/
export function notAfterTodayFn(errorMessages: ErrorMessages = defaultErrorMessages): ValidationRule {
return (value: Value): ValidationResult => {
// If the value is empty, return true (valid)
if (!value) {
return true;
}

// If the date is before now, it's a past date, it's valid,
// else, the date is after today, it's invalid
return isDateBeforeNow(value) || ruleMessage(errorMessages, 'default');
return !isDateAfterValue(TODAY, value) || ruleMessage(errorMessages, 'default');
};
}

Expand Down
19 changes: 0 additions & 19 deletions packages/vue-dot/src/rules/notAfterToday/isDateBeforeNow.ts

This file was deleted.

0 comments on commit ec57ba7

Please sign in to comment.