
Product
Introducing Repository Access Permissions and Custom Roles
Socket now supports Custom Roles and Repository Access Permissions so organizations can control who can access specific repositories and actions.
validity-date-in-range
Advanced tools
Validity style validator to ensure a property is a date within a given range
Validity style validator to ensure a property is a date within a given range.
npm install validity-date-in-range
Below is a simple example for usage with schemata:
var validity = require('validity')
, schemata = require('schemata')
, createRangeValidator = require('validity-date-in-range')
var ninetiesHitsSchema = schemata(
{ releaseDate:
{ type: Date
, validators:
{ all:
[ createDateValidator(new Date(1990, 0, 0), new Date(1999, 11, 31))
]
}
}
})
ninetiesHitsSchema.validate({ releaseDate: new Date(1965, 2, 12) }, function (error, errorMessage) {
console.log(errorMessage) //-> 'releaseDate must be after 01 Jan 1990'
})
ninetiesHitsSchema.validate({ releaseDate: new Date(2005, 3, 20) }, function (error, errorMessage) {
console.log(errorMessage) //-> 'releaseDate must be before 31 Dec 1999'
})
ninetiesHitsSchema.validate({ releaseDate: new Date(1995, 10, 13) }, function (error, errorMessage) {
console.log(errorMessage) //-> undefined
})
You can also pass in a function that returns a Date which will get called at validation time. This is useful in case the validity of a given date changes over time, e.g. a person with the date of birth 25 Jan 1996 cannot legally buy alcohol in the UK at the time of writing (30 Oct 2013 – age 17), however next year (25 Jan 2014 onwards – after they turn 18) they can.
var schema = schemata(
{ publishedDate:
{ type: Date
, validators:
{ all:
[ createDateValidator(null, function () {
return new Date(/* Get today - 18 years */)
})
]
}
}
})
Pass in the earliest and latest dates allowed. These are inclusive – i.e. if a date is equal
to the earliest or latest, it is considered valid. Both earliest and latest are optional,
but at least one value is required, othewise your validation will consider all dates as valid!
This is a validity compatible function, which in turn is used by schemata for schema validation.
The callback signature cb(err, errorMessage).
err is an Error object if something bad happened and null otherwise.errorMessage is a String if a validation error happened and undefined otherwise.Licensed under the New BSD License
FAQs
Validity style validator to ensure a property is a date within a given range
The npm package validity-date-in-range receives a total of 6 weekly downloads. As such, validity-date-in-range popularity was classified as not popular.
We found that validity-date-in-range 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.

Product
Socket now supports Custom Roles and Repository Access Permissions so organizations can control who can access specific repositories and actions.

Product
Socket MCP now lets AI assistants review org alerts, investigate threats using the Socket threat feed, and inspect package files in addition to dependency scoring.

Product
Socket Firewall blocks malicious VS Code and Open VSX extensions before install, protecting developers from compromised editor marketplaces.