@utkonos/entrepreneur
TypeScript icon, indicating that this package has built-in type declarations

1.0.2 • Public • Published

Валидация данных юридического лица (utk-entrepreneur)

Библиотека функций валидации данных юридического лица

Возможности

функции включают в себя валидаторы данных:

  • БИК
  • Расчётный счёт
  • Корр. счёт
  • GS1
  • GLN (global location number)
  • ИНН (юр. лицо, физ.лицо/ИП)
  • КПП
  • ОГРН(ИП)
  • ОКАТО
  • OKPO

Описание методов

Любой метод представленный в библиотеки принимает значение и возвражает boolean

  • isBIK(value: string) - проверка значения на БИК
  • isPaymentAccount(value: string, bik: string) - проверка рассчётного счёта. Принимает собственное значение и значение БИК.
  • isCorrespondentAccount(value: string, bik: string) - проверка корреспондентского счёта. Принимает собственное значение и значение БИК.
  • isINN(value: string) - проверяет яляется ли значение ИНН независимо от типа владельца (физическое лицо или юридическое лицо).
  • isINNIndividual(value: string) - проверяет является ли значение ИНН физического лица.
  • isINNLegalEntity(value: string) - проверяет является ли значение ИНН юридического лица.
  • isOGRN(value: string) - проверяет является ли значение ОГРН (для юридических лиц).
  • isOGRNIP(value: string) - проверяет является ли значение ОГРНИП (для ИП).
  • isOKATO(value: string) - проверяет является ли значение ОКАТО.
  • isOKPO(value: string) - проверяет является ли значение ОКПО.
  • isGLN(value: string) - проверяет является ли значение GLN (global location number). Частный случай GS1 и базируется на методе isGS1.
  • isGS1(value: string) - проверяет является ли значение GS1. Реализует проверку контрольной суммы для любых маркировок стандарта GS1. На базе этого метода вы можете построить собственный валидаторы для различных маркировок, например для EAN (EAN-13, EAN-8) и другие. Правильность GS1 вы можете проверить с помощью сервиса ассоциации.

Примеры

Валидация данных рассчётного счёта

Пример для работы с yup. В данном примере используются 3 метода (isBIK, isPaymentAccount, isCorrespondentAccount). Обратите внимиание, что в методах yup'а test в некоторых случаях используется обычные функции, а не стрелочные. Это нужно для сохранения TestContext'а yup, который необходим для работы Ref.

// Импорт
import { isBIK, isPaymentAccount, isCorrespondentAccount } from 'utk-entrepreneur'
import * as yup from 'yup'

const validtionSchema = yup.object().shape({
  bik: yup.string().test('bik', (value) => isBIK(value)),
  paymentAccout: yup.string().test('payment', function (value) {
    return isPaymentAccount(value, this.resolve(yup.ref('bik')))
  }),
  corrAccount: yup.string().test('corr', function (value) {
    return isCorrespondentAccount(value, this.resolve(yup.ref('bik')))
  }),
})

Валидация ИНН

Библиотека utk-entrepreneur может валидировать разные типы ИНН. Возьмём 2 ИНН и сравним в чём разница методов. ИНН физического лица - 525696684324, ИНН юридического лица - 7097670129

import {isINN, isINNIndividual, isINNLegalEntity} from 'utk-entrepreneur'

console.log(isINN('525696684324'), isINN('7097670129')) // true, true

console.log(isINNIndividual('525696684324'), isINNIndividual('7097670129')) // true, false

console.log(isINNLegalEntity('525696684324'), isINNLegalEntity('7097670129')) // false, true

Package Sidebar

Install

npm i @utkonos/entrepreneur

Weekly Downloads

124

Version

1.0.2

License

ISC

Unpacked Size

22.5 kB

Total Files

35

Last publish

Collaborators

  • sedx
  • nosycode