NullableAssert.ts 428 B

123456789101112131415
  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 ? value !== null && !!value || t('please_enter_a_value') : true
  11. }
  12. }