如何在DocuSign API中实现复选框组的联动禁用与验证?
DocuSign API 复选框分组验证问题解答
核心问题解答
- “不愿回答”复选框需要单独分组,因为它和前5个复选框是互斥逻辑:选它就不能选前5个,不选它则前5个可选1个及以上。
- 要实现“两组中至少选一个”的要求,需按以下步骤操作:
- 创建两个独立的tabGroup:
- 组1:包含前5个复选框,规则设为
SelectAtLeast,minimumRequired=1,maximumAllowed=5 - 组2:仅包含“不愿回答”复选框,规则设为
SelectAtLeast,minimumRequired=1,maximumAllowed=1
- 组1:包含前5个复选框,规则设为
- 添加互斥条件逻辑:当组2的复选框被选中时,自动清空并禁用组1的所有复选框;当组2未被选中时,启用组1的复选框。
- 创建两个独立的tabGroup:
代码问题排查
你提供的tabGroups代码存在以下问题:
- 缺少关联复选框:tabGroups只是规则容器,必须将对应复选框tab的
groupLabel属性设置为ChkBxGrpRace,才能把复选框纳入该组。 - 未区分互斥分组:仅创建一个组无法实现“不愿回答”与前5个选项的互斥逻辑。
- pageNumber格式错误:pageNumber应为直接数字,不需要嵌套
<string>标签,正确格式是<pageNumber>2</pageNumber>。
修正后的示例代码(XML格式)
<!-- 前5个复选框所在组 --> <tabGroups> <groupLabel>ChkBxGrpRaceMain</groupLabel> <groupRule>SelectAtLeast</groupRule> <maximumAllowed>5</maximumAllowed> <minimumRequired>1</minimumRequired> <pageNumber>2</pageNumber> <validationMessage>请选择一个或多个种族选项</validationMessage> </tabGroups> <!-- “不愿回答”单独分组 --> <tabGroups> <groupLabel>ChkBxGrpRacePreferNot</groupLabel> <groupRule>SelectAtLeast</groupRule> <maximumAllowed>1</maximumAllowed> <minimumRequired>1</minimumRequired> <pageNumber>2</pageNumber> <validationMessage>或选择“不愿回答”</validationMessage> </tabGroups> <!-- 关联复选框tab示例 --> <checkboxTabs> <!-- 前5个种族复选框示例(其余4个同理) --> <checkboxTab> <tabLabel>RaceOption1</tabLabel> <groupLabel>ChkBxGrpRaceMain</groupLabel> <pageNumber>2</pageNumber> <!-- 配置条件逻辑:当“不愿回答”选中时禁用当前复选框 --> <conditionalParentLabel>PreferNotToAnswer</conditionalParentLabel> <conditionalParentValue>Selected</conditionalParentValue> <disableOnCondition>true</disableOnCondition> </checkboxTab> <!-- “不愿回答”复选框 --> <checkboxTab> <tabLabel>PreferNotToAnswer</tabLabel> <groupLabel>ChkBxGrpRacePreferNot</groupLabel> <pageNumber>2</pageNumber> </checkboxTab> </checkboxTabs>
最后需确保在模板或信封设置中启用表单验证功能,否则tabGroups规则无法生效。
内容的提问来源于stack exchange,提问作者PSD
相关产品推荐
相关产品推荐

