react-form-controlled-validate

Validation of the forms. High order components for react-form-controlled. It is based on JSON Schema.

Usage no npm install needed!

<script type="module">
  import reactFormControlledValidate from 'https://cdn.skypack.dev/react-form-controlled-validate';
</script>

README

React controlled form validate

Validation of the forms. High order components for react-form-controlled. It is based on JSON Schema.

NPM version build status Test coverage

Simple arrays

If you are using fieldset with simple array do not enter the name attribute.

import React, { Component } from 'react';
import Form from 'react-form-controlled';
import Validate, { Alert } from 'react-form-controlled-validate';

const schema = {
  type: 'object',
  required: ['firstName'],
  firstName: {
    username: {
      type: 'string',
      minLength: 2,
    },
  },
};

export default class Example extends Component {
  constructor(props, context) {
    super(props, context);

    this.state = {};
  }

  onSubmit = (data) => {
    alert(`Hi ${data.firstName}`);
  }

  render() {
    return (
      <Validate schema={schema}>
        <Form
          value={this.state}
          onSubmit={this.onSubmit}
        >
          <input name="firstName" />
          <Alert name="firstName" />

          <button type="submit">Submit</button>
      </Form>
    );
  }
}

Support us

Star this project on GitHub.

Try our other React components

License

The MIT License (MIT)

Copyright (c) 2016 Zlatko Fedor