ProductPromotion
Logo

Angular.JS

made by https://0x3d.site

GitHub - validointi/validointi
Contribute to validointi/validointi development by creating an account on GitHub.
Visit Site

GitHub - validointi/validointi

GitHub - validointi/validointi

All Contributors

Validointi

logo

We finsish the validation debate

@validointi/core

This is a library to help you validate your template driven forms.

Installation

To install this library, run:

$ npm install @validointi/core --save

Using it in your project.

You can use this library by importing the directives and services in the components you want to use them in.

First you register your validation function to the service like this:

#vr = inject(ValidatorRegistryService);

validate = this.#vr.registerValidator('sample-data', validateSampleData);

a validation function can look like this:

async function validateSampleData(data: SampleData, field?: string): Promise<ValidationErrors> {
  /**
   * In here we use Vest to validate the data.
   * However, you can validate the data however you want.
   */
  const errors = await suite(data, field).getErrors();
  return Object.entries(errors).reduce((acc, [key, err]) => {
    acc[key] = err;
    return acc;
  }, {} as ValidationErrors);
}

Pro Tip: When you use vest, you can use the createVestAdapter(suite) function to create a validation function that can be used with this library.

validate = this.#vr.registerValidator('sample-data', createVestAdapter(suite));

will make sure the vest results are formatted correctly for this library.

The only restriction is that the function must return a Promise<ValidationErrors>.

After that you can use the directive in your template like this:

<form validationId="sample-data" (ngSubmit)="mySubmitFunction($any(data))" #form="ngForm">
  <label for="name">
    <span>Name</span>
    <input type="text" name="name" placeholder="Your name" [(ngModel)]="data.name" />
  </label>
  <input type="submit" value="Submit" [disabled]="form.invalid" />
</form>

From this point the form will be validated on formControl.valueChanges and errors coming from the function will be set on the corresponding formControl.

Contributors

More Resources
to explore the angular.

mail [email protected] to add your project or resources here 🔥.

Related Articles
to learn about angular.

FAQ's
to learn more about Angular JS.

mail [email protected] to add more queries here 🔍.

More Sites
to check out once you're finished browsing here.

0x3d
https://www.0x3d.site/
0x3d is designed for aggregating information.
NodeJS
https://nodejs.0x3d.site/
NodeJS Online Directory
Cross Platform
https://cross-platform.0x3d.site/
Cross Platform Online Directory
Open Source
https://open-source.0x3d.site/
Open Source Online Directory
Analytics
https://analytics.0x3d.site/
Analytics Online Directory
JavaScript
https://javascript.0x3d.site/
JavaScript Online Directory
GoLang
https://golang.0x3d.site/
GoLang Online Directory
Python
https://python.0x3d.site/
Python Online Directory
Swift
https://swift.0x3d.site/
Swift Online Directory
Rust
https://rust.0x3d.site/
Rust Online Directory
Scala
https://scala.0x3d.site/
Scala Online Directory
Ruby
https://ruby.0x3d.site/
Ruby Online Directory
Clojure
https://clojure.0x3d.site/
Clojure Online Directory
Elixir
https://elixir.0x3d.site/
Elixir Online Directory
Elm
https://elm.0x3d.site/
Elm Online Directory
Lua
https://lua.0x3d.site/
Lua Online Directory
C Programming
https://c-programming.0x3d.site/
C Programming Online Directory
C++ Programming
https://cpp-programming.0x3d.site/
C++ Programming Online Directory
R Programming
https://r-programming.0x3d.site/
R Programming Online Directory
Perl
https://perl.0x3d.site/
Perl Online Directory
Java
https://java.0x3d.site/
Java Online Directory
Kotlin
https://kotlin.0x3d.site/
Kotlin Online Directory
PHP
https://php.0x3d.site/
PHP Online Directory
React JS
https://react.0x3d.site/
React JS Online Directory
Angular
https://angular.0x3d.site/
Angular JS Online Directory