
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
The fastest and simple validator.
npm install --save validex
use it with react react-validex
import validex from 'validex'
const validator = validex(data: Object, options: Object)
if(validator.validate()){
}
| Validate | Description |
|---|---|
| required | value must be required. (boolean) |
| type | string,number,array,object,bool check the value type. (string) |
| min | check the string's minimum length. (integer) |
| max | check the string's maximum length. (integer) |
value must be an email. (boolean) | |
| url | value must be an url. (boolean) |
| equal | value must be equal. (string) |
| notEqualWith | check the value equal with another field. (string) another field name |
| lowercase | all the characters must be lowercase. (boolean) |
| uppercase | all the characters must be uppercase. (boolean) |
| capitalize | required the first characters uppercase. (boolean) |
| hex | check the value is hex or not. (boolean) |
| maxNumberRange | check the maximum number range. (integer) |
| minNumberRange | check the minimum number range. (integer) |
| maxWords | check the maximum words length. (integer) |
| minWords | check the minimum words length. (integer) |
| notAllowedChars | check the value contained the some characters or not. (string) example: "abcd.#@" |
| notAllowedCharacters | a-zA-Z characters are not allowed. (boolean) |
| notAlloweNumber | 0-9 numbers are not allowed. (boolean) |
| notAllowedSpecialChars | `!@#$%^&*()_+-=[]{};':"\ |
| notAllowedWords | check the value contained the some words or not. (string) example: "Hello World, Propgrammer, any" |
| compare | validate the value by your self. (function) |
| regex | compare with regular expression. (Regex) |
| strongPassword | 8 or more characters with a mix of letters, numbers & symbols. (boolean) |
| mediumPassword | 6 or more characters with a mix of letters, numbers & symbols. (boolean) |
| oneOf | check the value is included. (array) |
| oneOfType | check the value multiple types. (array) |
| shape | check an object field with multiple properties. (object) |
| excat | check an object field with multiple properties. (object) |
| date | check the value is date or new Date Object. (boolean) |
| nameAlias | just replace the field name. (string) |
import validex from 'validex'
const data = {
user_name: 'Jhon Doe',
user_email: 'yourname@example.com',
user_age: 20
}
const schema = {
user_name: {
nameAlias: "User Name",
required: true,
type: 'string',
capitalize: true,
notAllowedSpecialChars: true
},
user_email: {
nameAlias: "Email",
email: true,
lowercase: true
},
user_age: {
nameAlias: "Age",
type: 'number',
minNumberRange: 18,
maxNumberRange: 30
}
}
const validator = validex(data, schema)
const isValidate = validator.validate()
if(isValidate){
// .....
}
// Or You can the hasError function
if(!validator.hasError()){
// .....
}
In the schema property you can pass single option or you can pass an array. the array contained two indexes
const schema = {
user_name: {
required: [true, new Error("$field must be required")], // or you can pass the arra
type: ['string', new Error("$field must be type of string")],
min: [10, new Error("$field minumum characters of $compare")], // $compare will be replaced with 10
max: 20,
notAllowedSpecialChars: true,
}
}
| Name | Description |
|---|---|
set | Set the data and schema individually. set(fieldName, value, shema) Schema will be an Object |
hasError | check the error is exists or not @return boolean. you can also check the field error with this hasError('user_name') |
getError | get all the errors with an object. If you pass the field name then you can get just the field error message |
removeError | if you want you can remove the field error. removeError('user_name', 'min') it will remove just user_name min type error |
validate | validating the data. |
It will call when validate and removeError function call
validator.callback = (type, validator) => {
if(type === 'removeError'){
}
}
Custom validation with compare. @return type boolean.
{
compare: (value, options) => {
if(typeof value !== 'string'){
return new Error("$field must be string")
}
}
}
import {
isType,
isEmail,
isEqual,
isUrl,
isHex,
isUpperCase,
isLowerCase,
isCapitalize,
minWords,
maxWords,
minNumberRange,
maxNumberRange,
notAllowedChars,
notAllowedCharacters,
notAllowedSpecialChars,
notAllowedWords,
notAllowedNumber,
regex,
strongPassword,
mediumPassword,
oneOf,
oneOfType,
exact,
shape
} from 'validex'
// every function has two arguments
// first is value second is compare value
isType(value, 'numbe|object|array|string|bool')
isEmail(value)
isEqual(value, compareValue)
isUrl(value)
isUpperCase(value)
isLowerCase(value)
isCapitalize(value)
isHex(value)
minWords(value, length)
maxWords(value, length)
minNumberRange(value, length)
maxNumberRange(value, length)
notAllowedChars(value, characters)
notAllowedCharacters(value)
notAllowedNumber(value)
notAllowedSpecialChars(value)
notAllowedWords(value, 'Hello World, Programmer')
regex(value, expression),
strongPassword(value),
mediumPassword(value),
oneOf(value, ['public', 'private']),
oneOfType(value, ['string', 'number']),
shape({
name: 'any',
email: 'any@example.com'
}, {
name: {
/// validex props
}
}),
exact({
name: 'any',
email: 'any@example.com'
}, {
name: {
/// validex props
}
}),
import {isObject, isArray, isNumber, isInteger, isString, isBool} from 'validex'
FAQs
The fastest and simple validator
The npm package validex receives a total of 3 weekly downloads. As such, validex popularity was classified as not popular.
We found that validex demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.