javascript - 使用 React Select 自定义验证消息
问题描述
我想国际化表单验证消息。我设法使用此解决方案为标准输入做到这一点。但是,对于 React Select,它的行为有点不同。显然,所需要的只是覆盖onChange
一个onInvalid
道具inputProps
。
然而,当它的值改变时,嵌入式似乎<input/>
并没有触发它的功能。onChange
这意味着,一旦Select
无效,它就永远不会变回有效。可能相关的另一件事是嵌入<input/>
的值是null
在选择选项之后。
这是一个 CodeSandbox,它显示了我已经走了多远。第一个Select
按预期工作,但使用默认验证消息。第二个Select
有自定义消息,但不能按预期工作。<input/>
那里表明onChange
没有在嵌入式中被调用<input/>
。
请让我知道是否可以使其按预期运行。
提前致谢。
解决方案
我设法做了一些有用的事情,但正如我在评论中所说,它并不漂亮。如果该链接失效,则需要设置required
为true
/false
以尝试使消息仅出现一次,并setCustomValidity
在消息不可避免地出现时使用。
我将在 React Select 中提出一个问题,因为我认为必须有更好的方法,如 pure 示例所示<input/>
。
推荐阅读
- file - 如何在 Windows 文件资源管理器中显示 NTFS“文件摘要信息”的字段?
- splunk - Splunk:如何计算事件持续时间记录?
- r - ggplotly/plotly R 不只对来自 ggplot 对象的每个轴应用整数值
- javascript - 在函数前面加减号
- node.js - 在 Mocha 中,如何确保在运行每个测试之前完成 beforeEach?并且 beforeEach 里面的函数一个接一个地运行?
- r - 从与另一列中的某些值对应的列中获取值,直到我们在第二列中获得相同的值
- java - anyString() 为 null 而不是空字符串
- python - Django NoReverseMatch at / 路径名和/或顺序是否冲突?
- mysql - MySQL BIT 类型 SET 使用引号
- html - Safari 和背景剪辑:文本在多行显示中效果不佳:内联文本元素