https://github.com/writetome51/validating-inputs
A package of TypeScript/JavaScript modules that help you create form inputs that validate themselves
https://github.com/writetome51/validating-inputs
form inputs javascript typescript validation
Last synced: about 1 year ago
JSON representation
A package of TypeScript/JavaScript modules that help you create form inputs that validate themselves
- Host: GitHub
- URL: https://github.com/writetome51/validating-inputs
- Owner: writetome51
- License: mit
- Created: 2019-11-17T05:04:50.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2021-05-15T02:15:22.000Z (almost 5 years ago)
- Last Synced: 2025-02-02T22:02:23.629Z (about 1 year ago)
- Topics: form, inputs, javascript, typescript, validation
- Language: TypeScript
- Homepage:
- Size: 58.6 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# interface CanBeValidated
isValid: (() => boolean) | (() => boolean)[];
// Can be function or array of functions.
# interface ValidatingInput extends CanBeValidated
__type: 'text' | 'password' | 'number'; // Private
id: string;
// assigned to id. Same value is used for 'name' attribute and
// the input's associated 'for' attribute.
errorMessage: string | string[];
// message to show if input is invalid.
// If this.isValid is array of functions, this must be array of strings,
// each one belonging with function of same index.
triggeredError: string;
// If input is invalid, this is assigned the resulting message in
// this.errorMessage.
objectToBind: object;
// this.objectToBind[this.propertyToBind] stores entered value of this input
propertyToBind: string; // property in this.objectToBind
label: string; // same value is used for 'placeholder' attribute
hideLabel?: boolean;
// Adds 'hidden' attribute to input's associated , default true
hidePlaceholder?: boolean; // default false
required?: boolean; // default true
prompt?: string; // text explaining input or asking user to fill it in
objectToMatch?: object;
// this.objectToMatch[this.propertyToMatch] stores the entered value of another
// input -- an input whose value is supposed to match with this one.
// Example: if one is for 'password' and another is for
// 'confirm-password', they must match. The ValidatingInput representing
// 'confirm-password' would need its objectToMatch[propertyToMatch] to be the
// object[property] storing the value of 'password'.
// this.objectToMatch[this.propertyToMatch] can then be checked in this.isValid
// if it matches this.objectToBind[this.propertyToBind].
propertyToMatch?: string; // property in this.objectToMatch
max?: number; // max value allowed if this.type is 'number'
min?: number; // min value allowed if this.__type is 'number'
maxLength?: number; // if this.__type is 'text' or 'password'
minLength?: number; // if this.__type is 'text' or 'password'
# ValidatingInputService
Abstract class representing a single `ValidatingInput`.
# ValidatingInputsService
Abstract class representing a `ValidatingInput` array.
# ValidatingNumberInputService
Abstract class, implements `ValidatingInputService`
# ValidatingPasswordInputService
Abstract class, implements `ValidatingInputService`
# ValidatingTextInputService
Abstract class, implements `ValidatingInputService`
# InputValidatorService
Validates a `ValidatingInput`. If `ValidatingInput.isValid` is array of functions,
they are called in the order listed.
# ValidatingFormInputComponent
Abstract UI component class, representing a `ValidatingInput` in UI.
# ValidatingFormInputsComponent
Abstract UI component class, representing a `ValidatingInput` array in UI.