我目前正在为所有表单使用客户端HTML验证。这包括数量必须是正整数和价格必须为非零之类的内容。我已在客户端强制执行此操作,并且我也在服务器端执行此操作。但现在我想知道是否值得为表单的每个字段添加错误消息,或者只返回HTTP 400 Bad Request
/ HTTP 422 Unprocessable Entity
。
将通过客户端验证的任何数据视为恶意数据,或者是否存在客户端可能输入无意中通过客户端验证的错误数据的情况,是否可以?
(注意:我没有使用任何javascript,只是输入标记中的HTML pattern
,min
,max
属性。)
客户端验证在失败时显示相当错误的消息。服务器端验证应该执行相同操作,还是返回通用HTTP错误页面?
答案 0 :(得分:0)
仅当浏览器不支持您使用的验证属性时。根据caniuse,模式属性目前是supported in all current desktop browers, but not all mobile browsers。
也就是说,如果您的目标是当前的桌面浏览器,服务器端错误只会向恶意用户显示,并且没有理由不提供有用的错误消息。另一方面,如果您在移动市场中,您可能希望使用功能较少的浏览器为可怜的灵魂添加有用的错误消息。