使用REDUX形式,如何将输入类型编号上的正整数归一化并仅允许正整数?
我使用8.3.7版的Redux-Form,我正在使用该字段,该字段应仅接受0-9999范围之间的正整数。
const REGEX_SPECIAL_CHARACTERS = /[@\-\_\!\#\$\%\.\&]/;
<Field
mandatory
step={1}
name="fieldName"
type="number"
min={0}
max={9999}
normalize={(value) => {
console.log({value});
return value?.split(REGEX_SPECIAL_CHARACTERS, 1).join('');
}}
>
Text
</Field>
我正在使用归一化
prop来验证这一点。如果我输入 1.9
,则可以在Blur上设置 1
,这是可以的。如果我执行 -0
或 -1
或只是 -n
(n =任何数字),它只会删除整个值,留下一个空字段和空字段如果有任何值少于 0
,我需要始终是 0
。
我不知道是否可以使用格式
prop,但idk如何使用=&gt; https://redux-form.com/8.3.0/docs/api/field.md/#-code-format-value-name-name-gt-formatt-formattedvalue-code-optional-
noreferrer 关于我如何解决这个问题?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
因此,这会立即删除任何不是数字的字符,因此只允许正整数:
它不会像您所描述的那样将
1.9
转换为1
,它宁愿将其转换为19
。So this would immediately remove any characters that are not digits, thus only allowing positive integers:
It's not converting
1.9
to1
as you described, it would rather turn this into19
.