Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

check-rule-mate-form

johnrock1618ISC0.0.4

check-rule-mate-form is a lightweight and framework-agnostic form management library that integrates seamlessly with check-rule-mate as a validation engine. It allows developers to easily manage data va

form validation, form validation js, validator, validate, form validator, form validator js, form validate, check-rule-mate, check rule, check rule mate, check-rule-mate-form, check rule mate form

readme

check-rule-mate-form

check-rule-mate-form is a lightweight and framework-agnostic form management library that integrates seamlessly with check-rule-mate as a validation engine. It allows developers to easily manage data validation and error handling in a structured way.

🚀 Features

  • Framework-agnostic: Works with vanilla JavaScript and can be easily integrated into React, Vue, Svelte, and others.
  • Built-in validation: Uses check-rule-mate for powerful validation.
  • Async validation support: Handle API validation.
  • Automatic attribute management: Define rules and attributes directly in JSON.
  • Custom error handling: Automatically applies errors based on check-rule-mate structure.

🛠️ Basic Usage

1. Define Your Validation Rules

Create a JSON file with validation rules:

{
  "name": {
    "rule": "name",
    "required": true,
    "attributes": {
      "label": "First Name",
      "maxLength": 32
    }
  },
  "email": {
    "rule": "email",
    "required": true
  },
  "message": {
    "rule": "hasText",
    "required": true
  }
}

2. Initialize FormManager

import { myValidator } from './validators.js';
import { FormManager } from 'check-rule-mate-form';
import RULES from './rules.json';
import ERROR_MESSAGES from './errors.json';

document.addEventListener('DOMContentLoaded', () => {
  const formElement = document.getElementById('contact-form');
  const formManager = new FormManager(formElement, RULES, myValidator, ERROR_MESSAGES);

  formManager.addAttributes();

  formElement.addEventListener('submit', async (e) => {
    const formValidated = await formManaager.handleFormSubmit(e);
    console.log(formValidated);
    if (formValidated.error) {
      // error scenario
    } else if (formValidated.ok) {
      // ok scenario
    }
  });
});

🏗️ Advanced Usage

Handling Input Change Events

const inputs = formElement.querySelectorAll('input');
inputs.forEach(input => input.addEventListener('change', formManager.handleInputChange));

Handling Form Reset

formElement.addEventListener('reset', formManager.handleFormReset);

📖 Documentation

(Coming soon) Full documentation will be available soon.

📝 License

ISC License.