Skip to content

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

License

Notifications You must be signed in to change notification settings

utkonos-ru/utk-entrepreneur

Repository files navigation

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

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

Установка

npm i --save @utkonos/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 '@utkonos/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 '@utkonos/entrepreneur'

console.log(isINN('7713527850'), isINN('447320913440')) // true, true

console.log(isINNIndividual('447320913440'), isINNIndividual('7713527850')) // true, false

console.log(isINNLegalEntity('447320913440'), isINNLegalEntity('7713527850')) // false, true

About

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

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published