Zah*_*ebi 5 validation input reactjs antd
我InputNumber在Form.Item一个 React 项目中有一个 antd 。我对此输入的验证是检查输入值的长度。
这是我的代码:
render() {
return (
<Form.Item
label="Value"
name="numberValue"
rules={[
{
pattern: /^(?:\d*)$/,
message: "Value should contain just number",
},
{
maxLength: 50,
message: "Value should be less than 50 character",
},
]}
validateTrigger="onBlur"
>
<InputNumber
onChange={(value) => {
this.props.setValue(value);
}}
/>
</Form.Item>
);
}
Run Code Online (Sandbox Code Playgroud)
我有两个问题:
我想Value should contain just number在用户输入非数字字符时显示消息。但这条消息根本不显示。
我想Value should be less than 50 character在用户输入超过 10 个字符的数字/值时显示消息。但现在,输入第一个字符后,就会显示此消息!
取决于您使用哪个验证库。
InputNumbermax 是Number.MAX_SAFE_INTEGER,所以也许使用一个简单的<Input>模式匹配器:
render() {
return (
<Form.Item
label="Value"
name="numberValue"
rules={[
{
pattern: /^(?:\d*)$/,
message: "Value should contain just number",
},
{
pattern: /^[\d]{0,50}$/,
message: "Value should be less than 50 character",
},
]}
validateTrigger="onBlur"
>
<Input
onChange={(value) => {
this.props.setValue(value);
}}
/>
</Form.Item>
);
}
Run Code Online (Sandbox Code Playgroud)