1.0.7 • Published 2 years ago
antd-normalize-validate v1.0.7
antd-spot

install
npm i antd-spotnormalize
normalize: how to use in javascript
const value = '18137944133';
const fix = normalize.cpf(value);
// output fix = 181.379.441-33normalize: how to use in form
<Form.Item label="Phone" name="phone" normalize={normalize.phone}>
<Input placeholder="Phonenumber..." />
</Form.Item>normalize: types
used on form and javascript
capitalizecapitalizes the first letter of a string and lowercases the remaining letters.cnpjnormalize a brazilian cnpj number.cpfnormalize a brazilian cpf number.currencynormalize a currency value in the international format.datenormalize a date in the format of "dd/mm/yyyy".emailnormalize an email address.fullnamenormalize a fullname.lowercaseconverts a string to lowercase.numericremoves all non-numeric characters from a string.phonenormalize a phone number.timenormalize a time in the format of "hh:mm".titlecasecapitalizes the first letter of each word in a string.uppercaseconverts a string to uppercase.zipcodenormalize a brazilian zip code.
used only in javascript
dateToIsoconvert a data to the iso format.currencyToNumberconvert currency to float value.phoneToInternationalconvert a phone to the international format.
normalize: example
import React, { useEffect } from 'react';
import { Button, Form, Input } from 'antd';
import { normalize } from '../utils/antd';
const App: React.FC = () => {
const [form] = Form.useForm();
useEffect(() => {
form.setFieldsValue({
cpf: normalize.cpf('18137944133'),
});
}, []);
return (
<Form
form={form}
onFinish={(data: any) => console.log(data)}
validateTrigger="onBlur"
>
<Form.Item label="CPF" name="cpf" normalize={normalize.cpf}>
<Input />
</Form.Item>
<Button htmlType="submit">Send</Button>
</Form>
);
};
export default App;rules
rules: how to use
<Form.Item
label="CPF"
name="cpf"
normalize={normalize.cpf}
required
rules={[{ required: true }, rule('cpf', '${label} is invalid.')]}
>
<Input />
</Form.Item>rules: types
cnpjvalidates a brazilian cnpj number.cpfvalidates a brazilian cpf number.currencyvalidates a currency value in the international format.datevalidates a date in the format of "dd/mm/yyyy".emailvalidates an email address.fullnamevalidates a fullname.passwordvalidates a password.phonevalidates a phone number, ensuring that it has at least 10 digits.timevalidates a time in the format of "hh:mm".zipcodevalidates a brazilian zip code.
rules: example
import React, { useEffect } from 'react';
import { Button, Form, Input } from 'antd';
import { normalize, rule } from 'antd-normalize-validate';
const App: React.FC = () => {
const [form] = Form.useForm();
useEffect(() => {
form.setFieldsValue({
cpf: normalize.cpf('18137944133'),
});
}, []);
return (
<Form
form={form}
onFinish={(data: any) => console.log(data)}
validateTrigger="onBlur"
>
<Form.Item
label="CPF"
name="cpf"
normalize={normalize.cpf}
required
rules={[
{ required: true },
rule('cpf', '${label} is invalid.'),
]}
>
<Input />
</Form.Item>
<Button htmlType="submit">Send</Button>
</Form>
);
};
export default App;filter option
filter option: how to use
import React from 'react';
import { filterOption } from 'antd-normalize-validate';
const App: React.FC = () => {
return (
<Select
filterOption={filterOption}
options={[
{ value: 1, label: 'First' },
{ value: 2, label: 'Second' },
{ value: 3, label: 'Third' },
]}
placeholder="Select..."
showSearch
/>
);
};
export default App;select state and city
import React, {useState} from 'react';
import { Button, Form, Input } from 'antd';
import { filterOption, City, State } from 'antd-normalize-validate';
const App: React.FC = () => {
const [state, setState] = useState<string>();
const [form] = Form.useForm();
return (
<Form
form={form}
layout="vertical"
validateTrigger="onBlur"
>
<Form.Item label="State" name="state" required rules={[{ required: true }]}>
<State
filterOption={filterOption}
onChange={(value) => {
setState(value);
form.setFieldValue('city', undefined);
}}
placeholder="State..."
showSearch
/>
</Form.Item>
<Form.Item label="City" name="city" required rules={[{ required: true }]}>
<City
disabled={!state}
filterOption={filterOption}
placeholder="City..."
showSearch
state={state}
/>
</Form.Item>
<Form.Item>
<Button block htmlType="submit" type="primary">
Submit
</Button>
</Form.Item>
</Form>
);
};
export default App;author
rodrigo brandão jonas batista thayná muller