我正在从服务器端验证和清理用户输入。我也在从前端验证它。但我想知道在发送请求之前是否也应该修改输入值以匹配服务器的要求。
例如,我有一个表单,其中输入了MM-dd
格式的生日文本。但是服务器需要一个月(MM
)和一个月中的某一天(dd
)值。我可以格式化输入以匹配服务器的要求(MM
和dd
),或者我可以不加修改地传递该值,服务器将完成其余的工作。推荐使用哪种方法?
发布于 2019-06-26 05:00:49
这个问题更多地与UX实践相关,而不是前端本身。我认为在服务器验证之前,应该进行前端检查。
你不应该验证,也绝对不应该在用户填写表单的过程中更改任何值。然而,常见的做法是在模糊上验证字段。此时您可以更改字段值。但是,我会非常小心,以避免混淆用户。因此,剥离空格等应该不是问题,但应该避免激进的输入更改。
还可以尝试对日期格式等操作进行输入掩码。
例如,检查该库的https://nosir.github.io/cleave.js/
编辑:
在将值发送到后端之前更改值的情况下,这是非常好的。最好有一些映射层,它将在UI表单和后端所需的DTO之间进行映射。UI应该专注于用户体验,所以在更复杂的情况下,几乎每次都需要一些额外的工作
https://stackoverflow.com/questions/56750391
复制相似问题