Skip to main content

Multilingual library made for validation, various form fields, such as: email, cpf, cnpj, credit card, and much more.

Project description

Multiform-validator

PyPI version License: MIT PyPI downloads

This package provides Python functions to validate various forms fields.

Documentation: https://github.com/gabriel-logan/multiform-validator

Feel free to find bugs and report them to me. Your feedback is highly appreciated. Hugs from Gabriel Logan!

If you want to help me, you can buy me a coffee (:

Buy Me A Coffee

Installation

pip install multiform-validator

Data Validator

This package contains various modules for validating different types of data. Below are the available validation modules:

Avaliable for while

  • cnpjValidator: CNPJ validation.
  • cpfValidator: CPF validation.
  • getOnlyEmail: Extracts only the email or emails address from a string.
  • identifyFlagCard: Identifies the flag of a credit card.
  • isCreditCardValid: Credit card validation.
  • isEmail: Email address validation format.
  • passwordStrengthTester: Password strength test.
  • validateBRPhoneNumber: Brazilian phone number validation.

Usage

Here is an example of how to use the functions in this package:

from multiform_validator import (
    cnpjIsValid,
    cpfIsValid,
    getOnlyEmail,
    identifyFlagCard,
    isCreditCardValid,
    isEmail,
    passwordStrengthTester,
    validateBRPhoneNumber
)
print("Is email", isEmail("foo@bar.com")) # True
print("Get only email", getOnlyEmail("awdawd wadawd wda awd jhony@gmail.com awdawdawd")) # jhony@gmail.com
print("Password strength", passwordStrengthTester("aA1!asd@qd2asd")) # Strong
print("Is CPF valid", cpfIsValid("123.456.789-02")['isValid']) # False
print("Is CNPJ valid", cnpjIsValid("12.345.678/0001-09")) # { 'isValid': False, 'errorMsg': 'CNPJ is not valid' }
print("Is credit card valid", isCreditCardValid("5117 2161 1334 8362")) # True
print("Identify flag card", identifyFlagCard("5117 2161 1334 8362")) # Mastercard
print("Validate BR phone number", validateBRPhoneNumber("(11) 91234-5678")) # { 'isValid': True, 'errorMsg': None }

Functions signature

All params with default values are optional.

def isEmail(email: str) -> bool:
    pass

def getOnlyEmail(text: str, multiple=False, clean_domain=False, repeat_email=False) -> str:
    pass

def passwordStrengthTester(password: str) -> str:
    pass

defaultErrorMsgCPF = [
  'CPF invalid',
  'CPF must have 11 numerical digits',
  'CPF is not valid',
  'Unknown error',
]
def cpfIsValid(cpf: str, errorMsg=defaultErrorMsgCPF) -> Dict[str, Union[bool, str, None]]:
    pass

default_error_msgCNPJ = [
   'CNPJ invalid', 
   'CNPJ must have 14 numerical digits', 
   'CNPJ is not valid', 
   'Unknown error'
]
def cnpjIsValid(cnpj: str, errorMsg=default_error_msgCNPJ) -> Dict[str, Union[bool, str, None]]:
    pass

def isCreditCardValid(cardNumber: str) -> bool:
    pass

def identifyFlagCard(cardNumber: str) -> str:
    pass

default_error_msg = ['Invalid value passed', 'Invalid phone number', 'Unknown error']
def validateBRPhoneNumber(phoneNumber: str, errorMsg=default_error_msg) -> Dict[str, Union[bool, str, None]]:
    pass

Looking for contributions.

Available Validation Modules !!! STILL NOT AVALIABLE !!!

  • isAscii: Checks if the string contains only ASCII characters.
  • isBase64: Checks if the string is a valid Base64 encoding.
  • isCEP: CEP validation (Brazilian postal code).
  • isDate: Date format validation.
  • isDecimal: Checks if the number is a decimal.
  • isEmpty: Checks if the string is empty.
  • isMACAddress: MAC address validation.
  • isMD5: Checks if the string is a valid MD5 hash.
  • validatePassportNumber: Passport number validation.
  • isPort: Port number validation.
  • isPostalCode: Postal code validation.
  • isTime: Time format validation.
  • validateEmail: Email address full validation.
  • validatePassword: Password validation.
  • validatePhoneNumber: Phone number validation.
  • validateUsername: Username validation.
  • validateUSPhoneNumber: US phone number validation.
  • isNumber: Checks if the value is a number.
  • validateName: Name validation.
  • validateSurname: Surname validation.
  • validateTextarea: Textarea validation.

For better information, read the documentation

Feel free to explore the various functions and experiment with different inputs to understand their behavior. If you encounter any issues or have suggestions, don't hesitate to reach out to me. Your feedback is valuable and helps improve the package. Happy coding!

By - Gabriel Logan

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

multiform_validator-0.0.8.tar.gz (9.8 kB view details)

Uploaded Source

Built Distribution

multiform_validator-0.0.8-py3-none-any.whl (10.6 kB view details)

Uploaded Python 3

File details

Details for the file multiform_validator-0.0.8.tar.gz.

File metadata

  • Download URL: multiform_validator-0.0.8.tar.gz
  • Upload date:
  • Size: 9.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for multiform_validator-0.0.8.tar.gz
Algorithm Hash digest
SHA256 bc4a7de120a11a40013575ae928f7b6a758d02bb2170576f69f777de3fcda733
MD5 6aaf22f91a2510a9a7f1b7aff8ff4f7d
BLAKE2b-256 bcf117b51df0b15f60c939598c5f6e5fcaaa9e61fe14fa9a63b0412eb205c928

See more details on using hashes here.

File details

Details for the file multiform_validator-0.0.8-py3-none-any.whl.

File metadata

File hashes

Hashes for multiform_validator-0.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 98d4b1ab2b95a6c8727a4ff51aa106ecb631329b3e188baafe448b760ec48714
MD5 7b83d8f52883797260be3833d02f8a5f
BLAKE2b-256 9fd930dd1462ea5303e1471fd223f89a7a70e0b4f0785b49aa81bf952c82c323

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page