我正在验证和清除服务器端的用户输入。我也在前端进行验证。但是我想知道是否还要在发送请求之前修改输入值以符合服务器的要求。
例如,我有一个带有MM-dd
格式的生日文本输入的表格。但是服务器分别需要一个月(MM
)和一个月中的一天(dd
)值。我可以格式化输入以使其符合服务器的要求(MM
和dd
),或者我可以不做任何修改就传递值,服务器将完成其余工作。推荐哪种方法?
答案 0 :(得分:1)
这个问题与UX实践更相关,而不是前端本身。我相信在服务器验证之前,应该执行前端检查。
您不应该验证用户,并且绝对不应该在用户填写表单期间更改任何值。但是,通常的做法是在模糊时验证字段。这是您可以更改字段值的时间。 但是,我将对此非常小心,以免使用户感到困惑。因此,剥离空格等不是问题,但应避免进行过多的输入更改。
还尝试对日期格式之类的操作使用输入掩码。
例如查看此库 https://nosir.github.io/cleave.js/
编辑:
在将值发送到后端之前更改值的情况下,这很好。最好有一些映射层,该层将在UI表单和后端所需的DTO之间进行映射。用户界面应着重于用户体验,因此在更复杂的情况下几乎每次都需要做一些额外的工作