3.1.2 • Published 2 years ago

@polvo-labs/form-utils v3.1.2

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

form-utils

Travis npm package Coveralls

This module provides a set of helpers for validating and formatting data, specially made for using with react-final-form module.

CODESANDBOX WITH EXAMPLES

Installation

yarn add @polvo-labs/form-utils

Usage

// Import the helpers you want to use
import {
  required,
  emailRequired,
  phone,
} from "@polvo-labs/form-utils";

// You can import all helpers too
import * as formUtils from "@polvo-labs/form-utils";

Each helper, is an object with the following structure:

{
  type, // in react native, this will be replaced by `keyboardType` or `secureTextEntry` for example
    parse,
    format,
    validate;
}

You can inject them directly into the <Field /> component:

<Container>
  <Field name="name" component="input" {...required} />
  <Field name="email" component="input" {...emailRequired} />
  <Field name="phone" component="input" {...phone} />
</Container>

Or, you can simply use them to format or parse your data:

import { phone } from "@polvo-labs/form-utils";

phone.format("41999999999");
// => '41 9-9999-9999'

phone.parse("41 9-9999-9999");
// => '41999999999'

Set default messages

You can set the default validation messages with the setDefaultMessages function:

import { setDefaultMessages } from "@polvo-labs/form-utils";

// Set the default messages for `required` and `email` validators.
setDefaultMessages({
  required: "Este campo é obrigatório",
  email: "Informe um e-mail válido",
});

Available Helpers

required

email / emailRequired

password / passwordRequired

match

<React.Fragment>
  <Field
    name="password"
    label="Password"
    component={FormField}
    {...forms.passwordRequired}
  />
  <Field
    name="password_confirm"
    label="Password confirm"
    component={FormField}
    validate={forms.match.validate({
      field: "password",
      message: "Passwords do not match",
    })}
  />
</React.Fragment>

cpf / cpfRequired

phone / phoneRequired

cep / cepRequired

currency / currencyRequired

integer / integerRequired

pastOrCurrentYear / pastOrCurrentYearRequired

cardNumber / cardNumberRequired

cardExpiry / cardExpiryRequired

cardCode / cardCodeRequired

sqlDate / sqlDateRequired

birthdate / birthdateRequired

length / lengthRequired

<React.Fragment>
  <Field
    name="name"
    label="Name"
    component={FormField}
    {...forms.lengthRequired({
      min: 5, // the default is 0
      max: 100, // the default is 255
    })}
  />
</React.Fragment>

bankAgency / bankAgencyRequired

bankAccount / bankAccountRequired

3.0.0-alpha.7

2 years ago

3.0.0-alpha.6

2 years ago

3.0.0-alpha.8

2 years ago

3.0.0-alpha.1

2 years ago

3.0.0-alpha.0

2 years ago

3.0.0-alpha.3

2 years ago

3.0.0-alpha.2

2 years ago

3.0.0-alpha.5

2 years ago

3.0.0-alpha.4

2 years ago

3.0.2-alpha.0

2 years ago

2.0.1

2 years ago

2.0.0

2 years ago

3.0.3

2 years ago

3.0.2

2 years ago

3.0.1

2 years ago

3.0.0

2 years ago

3.0.1-alpha.0

2 years ago

3.1.2

2 years ago

3.1.1

2 years ago

3.1.0

2 years ago

3.1.0-alpha.1

2 years ago

3.1.0-alpha.0

2 years ago

1.0.23

4 years ago

1.0.21

4 years ago

1.0.20

4 years ago

1.0.19

4 years ago

1.0.18

4 years ago

1.0.17

4 years ago

1.0.16

4 years ago

1.0.15

4 years ago

1.0.14

5 years ago

1.0.13

5 years ago

1.0.12

5 years ago

1.0.11

5 years ago

1.0.10

5 years ago

1.0.9

5 years ago

1.0.8

5 years ago

1.0.7

5 years ago

1.0.6

5 years ago

1.0.5

5 years ago

1.0.4

5 years ago

1.0.3

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago

0.0.4

5 years ago

0.0.3

5 years ago

0.0.2

5 years ago

0.0.1

5 years ago