utils.ts 722 Bytes
import { FormFieldsEnum } from '.';
import { Rule } from '/@/components/Form';
import { i18n } from '/@/locales/setupI18n';
const t = i18n.global.t;

export const validateProductPicker = () => {
  return {
    required: true,
    validateTrigger: 'blur',
    validator(_rule: Recordable, value: Recordable, _callback: Fn) {
      const product = Reflect.get(value || {}, FormFieldsEnum.DEVICE_PROFILE);
      const org = Reflect.get(value || {}, FormFieldsEnum.ORGANIZATION);
      if (!product) return Promise.reject(t('common.chooseText') + t('business.productText'));
      if (!org) return Promise.reject(t('common.chooseText') + t('business.organizationText'));
      return Promise.resolve();
    },
  } as Rule;
};