我们的堆栈目前是:React SPA/Apollo/GraphQL/Rails/PostgreSQL。
我们有一个带有数字输入的网络表单,可能(或不)用于输入十进制值(动态/用户创建的表单)。
我们希望表单宽松(它具有自动保存功能)。如果用户键入 ,3
或 17,
,则认为这是一个有效的数字值。但不要太宽松,数字应该可以解析为 float 并能够显示在图形中......
此外,当用户再次访问表单时,我们要确保用他最初键入的完全相同的值初始化数字输入(我的意思是,,3
不会神奇地变成 0,3
)
我想知道,对于我们的堆栈,如何在不丢失初始用户输入值的情况下序列化(作为 GraphQL 负载发送)和存储(在 PostgreSQL 中)和操作(在 JS/Ruby 中)这样的数字。
我认为发送/存储字符串会更简单,只要验证它可以被解析即可。
只是想知道是否有一个“合适的”解决方案,例如使用数字库、自定义 GraphQL 标量类型、十进制 SQL 类型……这对我来说似乎很复杂,以前有人做过类似的事情吗?
最佳答案
创建两个字段。一个用于用户输入,另一个用于解析值。我认为这对于任何堆栈都不会有所不同。
挑战在于如何向用户展示您如何理解输入的值。这可以通过在文本字段下使用解析值的提示来解决。
关于javascript - 整数/十进制用户输入 : how to serialize/store the value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51029255/