NullableAssert.ts 443 B

12345678910111213141516
  1. import type { AssertRule } from '~/types/interfaces'
  2. import { useI18n } from 'vue-i18n'
  3. export class NullableAssert implements AssertRule {
  4. supports(key: string): boolean {
  5. return key === 'nullable'
  6. }
  7. createRule(criteria: boolean): (value: unknown) => true | string {
  8. const { t } = useI18n()
  9. return (value: unknown) =>
  10. !criteria
  11. ? (value !== null && !!value) || t('please_enter_a_value')
  12. : true
  13. }
  14. }