Strickland
  • Readme
  • Introduction
    • Validators
    • Validation
    • Validation Results
  • Extensibility
    • Validator Factories
    • Validation Context
    • Validation Result Props
    • Extensibility Pattern
    • formatResult
  • Built-In Validators
    • required
    • compare
    • min
    • max
    • range
    • minLength
    • maxLength
    • length
  • Composition
    • Arrays of Validators
      • every
      • all
      • some
    • Validating Array Elements
      • arrayElements
    • Validating Objects
      • objectProps
      • Advanced Object Validation
      • Nested Objects
      • Arrays of Objects
    • Composition Conventions
    • Composition and formatResult
  • Async Validation
    • Resolving Async Validation
    • Deferred Async Validation
    • Async Validator Arrays and Objects
    • Two-Stage Sync/Async Validation
    • Race Conditions
    • Automatic Race Condition Handling
    • Async Validation and formatResult
  • Form Validation
    • form
    • Async Form Validation
    • validateFields
    • emptyResults
    • updateFieldResults
  • Inspiration
  • Design Goals
  • Wrap-Up
  • Change Log
  • NPM
  • GitHub
Powered by GitBook
On this page
  • Core Concepts
  • Extensibility Concepts
  • Composition Concepts
  • Async Validation
  • Form Validation
  • Feedback

Was this helpful?

Wrap-Up

PreviousDesign Goals

Last updated 4 years ago

Was this helpful?

The design and implementation of Strickland ends up being fractal, with extensibility and composability available at every turn. Because validator functions are so simple, Strickland is a great framework on which you can build the validator libraries you need for your applications. And since Strickland is pure JavaScript and not coupled to any other libraries or concepts, it can be used in any JavaScript application.

Using Strickland's built-in validators, and its extensibility and composability, you can build your application's validation library and provide rich validation experiences for your users.

Core Concepts

  1. are implementations of your validation rules

  2. is the act of executing a validator against a value

  3. are the output of validation for the given validator and value

Extensibility Concepts

  1. are functions that take parameters and return validator functions

  2. is provided to validators allowing application state to influence validation logic

  3. allow applications to produce rich user experiences

Composition Concepts

  1. can be used to validate a value against multiple validators

  2. **** is easily done using the arrayElements validator

  3. is accomplished by building objects that define how the props should be validated

  4. enable terse and natural definitions of complex compositions

Async Validation

Form Validation

Feedback

If you're interested in Strickland and have any feedback, please reach out in one of the following ways:

to provide async validation capabilities

within arrays of validators, array elements, and object validation

is conducted using the validateAsync function

supports interactive field-level or form-level validation

Submit issues on

Tweet to

Validators
Validation
Validation Results
Validator Factories
Validation Context
Validation Result Props
Arrays of Validators
Validating Array Elements
Validating Objects
Composition Conventions
Validators Can Use Promises
Composition Supports Promises
Two-Stage Sync/Async Validation
Form Validation
GitHub
@JeffHandley