I have a simple login form, but validation rule with type: 'number' for input item tn doesn't work. Even if I enter a number, I get 'tn' is not a valid number' in console.
import React from 'react';
import { Form, Input, Button, Checkbox } from 'antd';
import { UserOutlined, LockOutlined } from '@ant-design/icons';
import './style.css';
export const LoginForm = () => {
const onFinish = (values) => {
console.log('Received values of form: ', values);
};
return (
<Form
name="login_form"
className="login-form"
initialValues={{
remember: true,
}}
onFinish={onFinish}
>
<h3 className="main-label">LOG IN</h3>
<Form.Item
name="tn"
rules={[
{
type: 'number',
required: true,
message: 'Wrong number',
},
]}
>
<Input
prefix={<UserOutlined className="site-form-item-icon" />}
placeholder="Enter your tn"
/>
</Form.Item>
<Form.Item
name="password"
rules={[
{
required: true,
message: 'Please input your password',
},
]}
>
<Input
prefix={<LockOutlined className="site-form-item-icon" />}
type="password"
placeholder="Password"
/>
</Form.Item>
<Form.Item>
<Form.Item name="remember" valuePropName="checked" noStyle>
<Checkbox>Remember me</Checkbox>
</Form.Item>
</Form.Item>
...
);
};
I tried other rules and they works fine. What's the problem with numbers?