地址格式随地区变化,不可固定字段
别名: 地址字段 · 国际地址 · address schema · postal fields
概念解释
地址不是全球共用的几列。有的国家没有省,有的没有邮编,有的门牌在街道名前面,有的用一行自由文本就能投递。不可固定字段指不能把「省 / 市 / 区 / 街道 / 邮编」当成所有地区的骨架,再用隐藏或「无」去硬套。随地区切换的是字段集合、顺序和校验,而不是同一套框换标签。电话怎么分段、姓名有几截,是另外的结构问题。显示层的本地化格式(信封怎么印)也不等于输入层该拆几格。
机制
投递系统认的是当地的地址图,不是产品的数据库列。固定骨架把当地图里不存在的节点变成必填(没有州的国家被逼选州),或把当地图里必需的节点丢掉(英国的 post town、日本的丁目)。人会把答案塞进看起来最像的框,校验按错误的图去卡,合法地址被判非法。第二层是顺序也是结构:许多地区从大到小(国家→省→市→路),另一些习惯从小到大或把邮编放最前。固定顺序强迫人按外语信封来回忆自己的家,提取失败。一行「地址」加大区选择,往往比六列空框更能保住当地图;拆列的收益只在当地图本身就是多节点且投递方要拆开用的时候。
怎么研究
用至少三个地址图差异大的地区(例如有州+邮编、无州有邮编、无邮编多级行政区)做同一结账地址表。比较固定列、按地区切换列、单行自由文本。
自变量:字段骨架(固定 / 随地区 / 单行)、校验是否跟骨架走、顺序是否跟当地习惯走。 因变量:合法地址被拒、人把信息填错列、完成时长、投递方能否解析。
实验室被试若全是同一国家,固定列会看起来没问题。要找在非产品默认国家住过的人,或用他们真实会写的地址。不要用显示格式(信封排版)的正确率代替输入能否提交。
边界
只服务单一法域的内部系统(一市的政务)可以用当地固定列,但仍不要把这套列复制到出海版本。自动补全若只训练了默认国家的图,切到其他地区会补出不存在的省,比手填更糟。军事地址、校园地址、农村无名道路需要逃逸成自由文本,即使当地图平时是多列。纯展示已确认地址可以按当地信封排,不必再拆成输入列。
怎么落地
- 先选国家或地区,再渲染该地区的字段集合与顺序;不要在选地区之前铺出省市区。
- 当地没有的节点不要出现;当地必需的节点不要藏进「详细地址」一筐指望人自己分段。
- 提供「写成一行」的逃逸,给补全失败、无名道路和特殊投递点。
- 验证:用无州国家的真实地址走一遍,确认没有州必填。用邮编在前的习惯地区,确认顺序不是产品默认的「最后填邮编」。把固定六列套到这三个地区,列出被拒的合法地址,作为不得上线的对照。