收集上来的数据总是对不上:表单的校验、逻辑跳转和收集控制
对外收集的数据对不上,通常不是填写的人粗心,而是表单在三个地方没设防:提交前没校验、不同的人看到同一套题、收集边界没写清。
活动报名 214 份、签到 186 人、付款 173 条。三张表放在一起,先对不上的不是人数,是人名:「王磊」和「王蕾」、带不带 +86 的手机号、公司简称和全称。
这篇讲的就是这类问题。下面提到「问卷」,指的就是用表单搭出来的填写页。
内部收集可以设「仅企业内部用户可填」这类身份门槛,对外收集通常没有这个条件——「谁填的、填了几次」天然控不住。所以重点不在「拦住谁」,而在输入侧的设计和提交后的纠错。
先分清四种「对不上」
「对不上」不是一个问题,是四个。先看是哪一种,再决定动哪个开关。
| 对不上的东西 | 该动哪个开关 |
|---|---|
| 值:手机号少一位、日期写成「下周三」 | 校验 |
| 题:外部访客被问了工号,内部员工被问了发票抬头 | 逻辑跳转 |
| 人:同一个人填了两遍,或让同事代填 | 填写限制、修改与撤回 |
| 表:三张表合并时对不上号 | 字段设计与主键 |
前三种发生在收集过程中,第四种发生在收完之后。对外收集的特殊之处是:第三种你往往管不了,所以力气要前移到第一、第二种,再给第四种留好接口。
石墨表单能校验什么?
石墨表单的校验分四类:必填、长度、格式、范围。必填所有题型都能设;文字题能设长度;单行文本能设电话、邮箱、身份证(普通/严格);数字题和日期题能设范围。以下能力以 2026 年 10 月的版本为准。
| 题型与能设的校验 | 挡不住 |
|---|---|
| 所有题型:必填 | 填了但不对 |
| 文字题:长度 | 答非所问 |
| 单行文本:电话、邮箱、身份证(普通/严格) | 填别人的号 |
| 数字:范围 | 单位或口径不一致 |
| 日期:范围 | 时区或理解差异 |
这里有一个容易被忽略的边界:电话、邮箱、身份证的配置入口,只在简体中文编辑界面出现;切换到其他语言会隐藏,但填写侧不受影响。
校验挡的是「格式不对」,挡不住「人不对、口径不对」:电话和邮箱不判断是不是本人的号,数字范围不判断单位,长度不判断有没有答到点上,必填也挡不住随手填个 111。
所以校验之后,还要靠题型收窄口径。一份对外问卷里,「行业」做成填空会收到二十种写法;做成单选,选项就是口径。能选日期就别让人填「下周三」。校验管格式,题型管口径。
怎么让不同的人只看到该看的题?
用表单的「逻辑规则」做题目跳答和题目隐藏/显示。对外收集时,填写人不会给你第二次追问的机会;一份问卷里混着几类人,问错一道题,后面就全是噪音。
四个常见分叉:
- 个人和企业报名:选「企业」才出现公司全称、统一社会信用代码、发票抬头。
- 需要和不需要发票:需要才出现抬头、税号、接收邮箱。
- 参会和仅投稿:不同轨道显示不同题目。
- 成年和未成年:未成年才出现监护人信息。
先画「人有几种」,再画「每种人该答几道题」。不要把跳转做成迷宫——每多一层,就多一批人填错。逻辑规则解决的是「问对人」,它不是审批流:表单不会因为某个答案自动进入审批、转交或分级处理;需要审批,走审批工具。
谁可以填、什么时候填、填完能不能改?
收集控制分三块:填写限制、时间限制、提交后的修改与撤回。
填写限制:对外收集通常只剩两个选项
| 选项(谁可以填) | 对外收集适用性 |
|---|---|
| 所有人可填(拿到链接的人) | 最常用,但没有身份门槛 |
| 仅登录用户可填(登录石墨的用户) | 有一点门槛,仍不是名单 |
| 仅企业内部用户可填(本企业成员) | 适合内部收集 |
| 仅特定成员可填(指定的企业内成员) | 只能指定企业内成员,不含外部 |
| 仅收集群内成员可填(收集群成员) | 企业版功能,上限 20 个收集群 |
对外收集时,「仅特定成员可填」只能指定企业内成员,「仅收集群内成员可填」是企业版功能、收集群上限 20 个。面对陌生的外部填写人,通常只剩「所有人可填」或「仅登录用户可填」。所以质量控制不能把宝押在「拦住谁」上。
时间限制:管住「还能不能交」
支持开始/结束时间、作答时长、允许迟到时长、每日允许作答时间。对外报名最有用的是截止时间:过了点,链接还在,但提交不进来。收集提醒可以订阅「有新增立即提醒」。
修改与撤回:给填写人一条纠错通道
提交后,填写侧和管理员都可以撤回;填写侧是否允许修改和撤回,可以在表单收集设置里限制;匿名对外填写也能用。
这个开关比「防重复」更值得用。填写人发现填错了,如果能改,他就不会重填一条;不能改,他往往会在群里说一声,然后你再手工删。在收集设置里允许修改/撤回,并在表单说明里写清楚。如果这份问卷要收集身份证等敏感信息,至少给填写人一个撤回入口。
重复提交:防不住,但可以让他不必重复
按目前的填写限制,没有「每人只能填一次」的开关。身份门槛能提高重复成本,但对「所有人可填」作用有限。能做的有四件事:用校验减少乱填;用截止时间关掉入口;把修改/撤回的入口告诉填写人;在结果表里按手机号或邮箱去重。
对外收集,防不住重复,但可以让他不必重复。这句话比「杜绝重复提交」更接近现实。
收完之后,怎么让数据能和别的表对上?
留一个稳定主键,让同一件事在每张表里都长得一样。对外收集最常用的主键是手机号或邮箱——它们比姓名稳定,也比「公司+姓名」更容易唯一。如果这份表还要和签到表、付款表合并,从第一天就用同一个字段收集。
第二个动作是一题一义:同一个事实只用一个题型收。行业一处是单选、一处是填空,合并时就要做映射;选项里没有「其他」,填写人只能乱选。
要把结果落到表格,表单可以关联专业表格或应用表格,收集到的数据会同步显示在关联的数据表里。关联应用表格时,三个边界要知道:一个字段只能关联一个题目;改题目类型可能导致取消关联;关联后的应用表格仍然可以编辑。它更像同一份数据的两个入口,所以最好约定哪边是权威入口:要么表单收、表格只读;要么表格改、表单不再收。
上线前检查清单
- 每道题都必要吗?不需要的删掉。
- 关键题是否设了必填?
- 手机号、邮箱、身份证是否开了对应的格式校验?
- 数字、日期是否设了范围?文字题是否设了长度?
- 填写人有几种?逻辑跳转是否覆盖?
- 对外收集是否误用了「仅特定成员可填」?
- 截止时间、作答时长是否设置?
- 是否允许填写人修改/撤回?入口有没有告诉他?
- 导出后靠哪个字段和别的表对上?
常见问题
石墨表单支持哪些信息校验?
必填所有题型都可以设;文字题支持长度校验;单行文本支持电话、邮箱、身份证(普通/严格)校验;数字题、日期题支持范围校验。
为什么我的表单里没有电话、邮箱、身份证校验?
这三类校验的配置入口仅在简体中文编辑环境提供,切换到其他语言会隐藏;填写侧不受影响。
表单能限制每人只填一次吗?
按目前的填写限制,没有「每人只能填一次」的开关。可以用校验、截止时间、修改/撤回入口和结果端去重来降低重复,但不能承诺杜绝。
表单能指定外部人员填写吗?
「仅特定成员可填」只能指定企业内成员,不含外部;对外收集通常用「所有人可填」或「仅登录用户可填」。
表单能设置截止时间和作答时长吗?
可以。支持开始/结束时间、作答时长、允许迟到时长、每日允许作答时间。
表单提交后还能修改或撤回吗?
可以。填写侧和管理员都能撤回;填写侧是否允许修改和撤回,可以在表单收集设置里限制;匿名对外填写也能用。
表单数据和表格怎么关联?改表格会改表单吗?
表单可以关联专业表格或应用表格,收集的数据会显示在关联的数据表里。关联应用表格时,一个字段只能关联一个题目;改题目类型可能导致取消关联;关联后的应用表格仍可编辑。两边同时改同一条记录时,帮助中心没有承诺自动合并,建议约定一个权威入口。
表单能做审批吗?
不能。表单负责收集,逻辑跳转只控制题目显示,不会因为某个答案自动进入审批、转交或分级处理。需要审批请用审批工具。
对外收集的质量,不是靠「防」出来的。你防不住陌生人重复填,也防不住他填别人的手机号;但你可以让格式不对的提交进不来,让填错的人有机会改,让最后合并的时候有一个稳定的键。
如果你正在把一张线下报名表或申请表搬到线上,可以先从上面九条检查清单里挑三条改。想直接试,可以立即试用;需要把收集流程接进现有系统,可以预约演示。如果收集完还要把数据放进团队的表里继续管,可以看用在线表格做好多人项目管理。