NullableAssert.ts 390 B

1234567891011121314
  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: any) => true | string {
  8. const { t } = useI18n();
  9. return (value: any) =>
  10. !criteria ? !!value || t('required') : true;
  11. }
  12. }