收集上来的数据总是对不上:表单的校验、逻辑跳转和收集控制

对外收集的数据对不上,通常不是填写的人粗心,而是表单在三个地方没设防:提交前没校验、不同的人看到同一套题、收集边界没写清。

活动报名 214 份、签到 186 人、付款 173 条。三张表放在一起,先对不上的不是人数,是人名:「王磊」和「王蕾」、带不带 +86 的手机号、公司简称和全称。

这篇讲的就是这类问题。下面提到「问卷」,指的就是用表单搭出来的填写页。

内部收集可以设「仅企业内部用户可填」这类身份门槛,对外收集通常没有这个条件——「谁填的、填了几次」天然控不住。所以重点不在「拦住谁」,而在输入侧的设计和提交后的纠错。

先分清四种「对不上」

「对不上」不是一个问题,是四个。先看是哪一种,再决定动哪个开关。

对不上的东西该动哪个开关
值:手机号少一位、日期写成「下周三」校验
题:外部访客被问了工号,内部员工被问了发票抬头逻辑跳转
人:同一个人填了两遍,或让同事代填填写限制、修改与撤回
表:三张表合并时对不上号字段设计与主键

前三种发生在收集过程中,第四种发生在收完之后。对外收集的特殊之处是:第三种你往往管不了,所以力气要前移到第一、第二种,再给第四种留好接口。

对外收集的五道关口:提交前校验(必填、长度、电话/邮箱/身份证、数字/日期范围)、填写中跳转(不同身份只看到该看的题)、收集边界(谁可以填、什么时候截止、作答时长与每日作答时间)、提交后纠错(修改/撤回、匿名也能用、填写侧可限制)、落地(稳定主键、一题一义、关联表格)。
图 1 · 对外收集的五道关口:前三道挡住脏数据,后两道让数据能被纠正、被对上。示意图,非产品界面。

石墨表单能校验什么?

石墨表单的校验分四类:必填、长度、格式、范围。必填所有题型都能设;文字题能设长度;单行文本能设电话、邮箱、身份证(普通/严格);数字题和日期题能设范围。以下能力以 2026 年 10 月的版本为准。

题型与能设的校验挡不住
所有题型:必填填了但不对
文字题:长度答非所问
单行文本:电话、邮箱、身份证(普通/严格)填别人的号
数字:范围单位或口径不一致
日期:范围时区或理解差异

这里有一个容易被忽略的边界:电话、邮箱、身份证的配置入口,只在简体中文编辑界面出现;切换到其他语言会隐藏,但填写侧不受影响。

校验挡的是「格式不对」,挡不住「人不对、口径不对」:电话和邮箱不判断是不是本人的号,数字范围不判断单位,长度不判断有没有答到点上,必填也挡不住随手填个 111。

所以校验之后,还要靠题型收窄口径。一份对外问卷里,「行业」做成填空会收到二十种写法;做成单选,选项就是口径。能选日期就别让人填「下周三」。校验管格式,题型管口径。

怎么让不同的人只看到该看的题?

用表单的「逻辑规则」做题目跳答和题目隐藏/显示。对外收集时,填写人不会给你第二次追问的机会;一份问卷里混着几类人,问错一道题,后面就全是噪音。

四个常见分叉:

  • 个人和企业报名:选「企业」才出现公司全称、统一社会信用代码、发票抬头。
  • 需要和不需要发票:需要才出现抬头、税号、接收邮箱。
  • 参会和仅投稿:不同轨道显示不同题目。
  • 成年和未成年:未成年才出现监护人信息。

先画「人有几种」,再画「每种人该答几道题」。不要把跳转做成迷宫——每多一层,就多一批人填错。逻辑规则解决的是「问对人」,它不是审批流:表单不会因为某个答案自动进入审批、转交或分级处理;需要审批,走审批工具。

谁可以填、什么时候填、填完能不能改?

收集控制分三块:填写限制、时间限制、提交后的修改与撤回。

填写限制:对外收集通常只剩两个选项

选项(谁可以填)对外收集适用性
所有人可填(拿到链接的人)最常用,但没有身份门槛
仅登录用户可填(登录石墨的用户)有一点门槛,仍不是名单
仅企业内部用户可填(本企业成员)适合内部收集
仅特定成员可填(指定的企业内成员)只能指定企业内成员,不含外部
仅收集群内成员可填(收集群成员)企业版功能,上限 20 个收集群

对外收集时,「仅特定成员可填」只能指定企业内成员,「仅收集群内成员可填」是企业版功能、收集群上限 20 个。面对陌生的外部填写人,通常只剩「所有人可填」或「仅登录用户可填」。所以质量控制不能把宝押在「拦住谁」上。

时间限制:管住「还能不能交」

支持开始/结束时间、作答时长、允许迟到时长、每日允许作答时间。对外报名最有用的是截止时间:过了点,链接还在,但提交不进来。收集提醒可以订阅「有新增立即提醒」。

修改与撤回:给填写人一条纠错通道

提交后,填写侧和管理员都可以撤回;填写侧是否允许修改和撤回,可以在表单收集设置里限制;匿名对外填写也能用。

这个开关比「防重复」更值得用。填写人发现填错了,如果能改,他就不会重填一条;不能改,他往往会在群里说一声,然后你再手工删。在收集设置里允许修改/撤回,并在表单说明里写清楚。如果这份问卷要收集身份证等敏感信息,至少给填写人一个撤回入口。

重复提交:防不住,但可以让他不必重复

按目前的填写限制,没有「每人只能填一次」的开关。身份门槛能提高重复成本,但对「所有人可填」作用有限。能做的有四件事:用校验减少乱填;用截止时间关掉入口;把修改/撤回的入口告诉填写人;在结果表里按手机号或邮箱去重。

对外收集,防不住重复,但可以让他不必重复。这句话比「杜绝重复提交」更接近现实。

收完之后,怎么让数据能和别的表对上?

留一个稳定主键,让同一件事在每张表里都长得一样。对外收集最常用的主键是手机号或邮箱——它们比姓名稳定,也比「公司+姓名」更容易唯一。如果这份表还要和签到表、付款表合并,从第一天就用同一个字段收集。

第二个动作是一题一义:同一个事实只用一个题型收。行业一处是单选、一处是填空,合并时就要做映射;选项里没有「其他」,填写人只能乱选。

要把结果落到表格,表单可以关联专业表格或应用表格,收集到的数据会同步显示在关联的数据表里。关联应用表格时,三个边界要知道:一个字段只能关联一个题目;改题目类型可能导致取消关联;关联后的应用表格仍然可以编辑。它更像同一份数据的两个入口,所以最好约定哪边是权威入口:要么表单收、表格只读;要么表格改、表单不再收。

上线前检查清单

  1. 每道题都必要吗?不需要的删掉。
  2. 关键题是否设了必填?
  3. 手机号、邮箱、身份证是否开了对应的格式校验?
  4. 数字、日期是否设了范围?文字题是否设了长度?
  5. 填写人有几种?逻辑跳转是否覆盖?
  6. 对外收集是否误用了「仅特定成员可填」?
  7. 截止时间、作答时长是否设置?
  8. 是否允许填写人修改/撤回?入口有没有告诉他?
  9. 导出后靠哪个字段和别的表对上?

常见问题

石墨表单支持哪些信息校验?

必填所有题型都可以设;文字题支持长度校验;单行文本支持电话、邮箱、身份证(普通/严格)校验;数字题、日期题支持范围校验。

为什么我的表单里没有电话、邮箱、身份证校验?

这三类校验的配置入口仅在简体中文编辑环境提供,切换到其他语言会隐藏;填写侧不受影响。

表单能限制每人只填一次吗?

按目前的填写限制,没有「每人只能填一次」的开关。可以用校验、截止时间、修改/撤回入口和结果端去重来降低重复,但不能承诺杜绝。

表单能指定外部人员填写吗?

「仅特定成员可填」只能指定企业内成员,不含外部;对外收集通常用「所有人可填」或「仅登录用户可填」。

表单能设置截止时间和作答时长吗?

可以。支持开始/结束时间、作答时长、允许迟到时长、每日允许作答时间。

表单提交后还能修改或撤回吗?

可以。填写侧和管理员都能撤回;填写侧是否允许修改和撤回,可以在表单收集设置里限制;匿名对外填写也能用。

表单数据和表格怎么关联?改表格会改表单吗?

表单可以关联专业表格或应用表格,收集的数据会显示在关联的数据表里。关联应用表格时,一个字段只能关联一个题目;改题目类型可能导致取消关联;关联后的应用表格仍可编辑。两边同时改同一条记录时,帮助中心没有承诺自动合并,建议约定一个权威入口。

表单能做审批吗?

不能。表单负责收集,逻辑跳转只控制题目显示,不会因为某个答案自动进入审批、转交或分级处理。需要审批请用审批工具。

对外收集的质量,不是靠「防」出来的。你防不住陌生人重复填,也防不住他填别人的手机号;但你可以让格式不对的提交进不来,让填错的人有机会改,让最后合并的时候有一个稳定的键。

如果你正在把一张线下报名表或申请表搬到线上,可以先从上面九条检查清单里挑三条改。想直接试,可以立即试用;需要把收集流程接进现有系统,可以预约演示。如果收集完还要把数据放进团队的表里继续管,可以看用在线表格做好多人项目管理。

参考资料

相关文章