npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

strict-validator

v1.0.0

Published

Validator for developers who want to ensure users and testers cannot bypass, manipulate, or introduce errors in data validation. Built for strict enforcement of rules to guarantee data integrity and security in applications.

Downloads

74

Readme

Strict Validator

A robust, configurable validation library for JavaScript developers who want strict data validation for user and tester inputs. Strict Validator enforces formatting rules and validates various input types to reduce errors and ensure consistent, high-quality data.

Installation

Install the package via npm:

npm install strict-validator

Usage

Import validateField from Strict Validator and specify the type of validation required for each input.

const { validateField } = require('strict-validator');

// Example usage
let numberResult = validateField("123456", 'number'); // Validates a numeric input
let lettersResult = validateField("John", 'letters'); // Validates letters-only input
let emailResult = validateField("[email protected]", 'email'); // Validates email format
let snakeCaseResult = validateField("hello_world", 'snake_case'); // Validates snake_case input

Validation Types

Supported Types

  • number: Ensures input contains only numeric characters.
  • letters: Allows only alphabetical characters (a-z, A-Z).
  • alphanumeric: Permits letters, numbers, and spaces.
  • text: Allows letters, numbers, spaces, and specific special characters.
  • email: Validates a standard email format.
  • text-underscore: Allows letters, numbers, spaces, underscores, and hyphens.
  • snake_case: Enforces snake_case formatting.
  • kebab-case: Enforces kebab-case formatting.
  • camelCase: Validates camelCase input.

Example Validations

// Validate numeric input
let numberResult = validateField("123456", 'number'); // Returns '123456' if valid, false if invalid

// Validate letters-only input
let lettersResult = validateField("John", 'letters'); // Returns 'John' if valid, false if invalid

// Validate alphanumeric input
let textResult = validateField("John Doe", 'alphanumeric'); // Returns 'John Doe' if valid, false if invalid

// Validate email
let emailResult = validateField("[email protected]", 'email'); // Returns '[email protected]' if valid, false if invalid

// Validate snake_case
let snakeCaseResult = validateField("hello_world", 'snake_case'); // Returns 'hello_world' if valid, false if invalid

// Validate kebab-case
let kebabCaseResult = validateField("hello-world", 'kebab-case'); // Returns 'hello-world' if valid, false if invalid

// Validate camelCase
let camelCaseResult = validateField("helloWorld", 'camelCase'); // Returns 'helloWorld' if valid, false if invalid

Handling Validation Results

Each call to validateField returns either:

  • The trimmed, validated input (if valid), or
  • false if invalid, with an optional error message.
let result = validateField("[email protected]", 'email');
if (result) {
    console.log("Valid input:", result);
} else {
    console.log("Invalid input");
}

Error Messages

Errors for invalid inputs will display specific messages for:

  • Empty or whitespace-only inputs
  • Input starting with special characters
  • Invalid characters based on the specified type
  • Reserved words (e.g., name)

License

This package is open-source and available under the MIT License.