先确认问题层级
合法英国、加拿大或无邮编地区地址被判格式错误。前端是否阻止请求和后端是否拒绝要分开检查。
在Network确认请求是否发出;未发出查前端validate,请求400读取后端字段错误。
country_id变化时动态更新postcode的required和正则,不能全局套用美国5位数字规则。
修复方法
- 使用国家级规则;不要求邮编的国家允许空值,同时保留长度和安全过滤。
- 第三方地址服务超时不应等同地址非法,可提供受控的“使用原地址”路径并在服务端规范化。
rg -n 'postcode|zip.*validate|validate-postcode' app/code app/design
# 比较country_id切换前后的input class与validation配置怎样才算解决
美国、英国、加拿大、无邮编国家以及含空格/连字符格式均按国家正确判断,前后端规则一致。

