An open API service indexing awesome lists of open source software.

https://github.com/rsuite/schema-form

Form generation and validation based on schema-typed and rsuite
https://github.com/rsuite/schema-form

form schema validation

Last synced: 5 months ago
JSON representation

Form generation and validation based on schema-typed and rsuite

Awesome Lists containing this project

README

          

# schema-form

Form generation and validation based on `schema-typed` and `rsuite`.

## Installation

```
npm install @rsuite/schema-form --save
```

## Usage

```js
import SchemaForm from '@rsuite/schema-form';
import { InputNumber, SelectPicker, Schema } from 'rsuite';

const { StringType, NumberType } = Schema.Types;

const Form = SchemaForm([
{
key: 'username',
type: StringType().isRequired('This field is required'),
label: 'Username'
},
{
key: 'email',
type: StringType().isEmail('Please enter a valid email address'),
label: 'Email',
helpBlock: 'Please enter your company email address'
},
{
key: 'age',
type: NumberType('Please enter a valid number'),
label: 'Age',
componentClass: InputNumber,
componentProps: {
autoComplete: 'off',
}
},
{
key: 'group',
type: NumberType(),
label: 'User Group',
componentClass: SelectPicker,
componentProps: {
style: {
width: 300
},
data: [{ value: 1, label: 'Admin' }, { value: 2, label: 'User' }],
}
}
]);

ReactDOM.render(, mountNode);
```

![preview](preview.png)

## Documentation

- [Form examples](https://rsuitejs.com/en/components/form#Examples)
- [Form props](https://rsuitejs.com/en/components/form#Props)

## License

MIT licensed