A lightweight validation library for Ant Design Forms. Centralizes all form validation rules in one place and allows reusable, flexible, and easy-to-maintain validations across your project.
- ✅ Required: Make fields mandatory
- ✅ Email: Validate email format
- ✅ Min/Max Length: Check string lengths
- ✅ Pattern: Custom regex validation
- ✅ Confirm Password: Match password and confirm password fields
- ✅ Strong Password: Enforce strong password rules
- ✅ Extra Rules: Easily merge extra rules per field without modifying the main config
npm install antd-form-rules-lib
# or
yarn add antd-form-rules-libCreate a config file (e.g. validationConfig.ts):
import { strongPassword, email, required } from 'antd-form-rules-lib';
import type { ValidationConfig } from 'antd-form-rules-lib';
const validationConfig: ValidationConfig = {
email: { rules: [required(), email()] },
password: { rules: [required(), strongPassword()] },
};
export default validationConfig;// app.tsx
import { configValidation } from 'antd-form-rules-lib';
import { validationConfig } from './components/configValidation';
const App = () => {
configValidation(validationConfig);
return <div>App</div>;
};
export default App;import { Form, Input } from 'antd';
import { getValidation } from 'antd-form-rules-lib';
export default function RegisterForm() {
return (
<Form>
<Form.Item label="Email" name="email" rules={getValidation('email')}>
<Input />
</Form.Item>
<Form.Item
label="Password"
name="password"
rules={getValidation('password')}
>
<Input.Password />
</Form.Item>
</Form>
);
}required(message?)— Field is requiredemail(message?)— Validates email formatminLength(min, message?)— Minimum string lengthmaxLength(max, message?)— Maximum string lengthpattern(regex, message)— Custom regex validationstrongPassword(message?)— Strong password enforcementconfirmPassword(form, fieldName, message?)— Password confirmationnumberRange(min, max, message?)— Number range validationurl(message?)— URL validation
See src/rules/ for all available rules and their options.
configValidation(config)— Register global validation configgetValidation(field, extraRules?)— Get rules for a field (with optional extra rules)
Contributions are welcome!
Feel free to open issues or submit pull requests.