You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在ContactManager中为指定ABPerson子类型设置必填FirstName字段?

解决方案:仅指定ABPerson子类型的FirstName必填字段

在GlobalPersonNameInputSet.default.pcf的上下文里,无法直接引用contact作用域,得通过nameOwner对象关联到对应联系人实体来判断类型。以下是实现批量指定子类型并设置FirstName必填的具体方法:

代码实现

替换原有not nameOwner.isRequired(gw.api.name.NameOwnerFieldId.FIRSTNAME)的逻辑为:

// 获取当前名称所属的联系人实体
def contact = nameOwner.getOwner() as gw.entity.Contact
// 判断是否为目标子类型之一
if (contact != null && contact.typeis (ABAdjudicator, ABPersonVendor, ABAttorney, ABDoctor)) {
    // 移除FirstName的必填豁免,强制设为必填
    return false
}
// 其他类型保持原有必填规则
return not nameOwner.isRequired(gw.api.name.NameOwnerFieldId.FIRSTNAME)

关键说明

  • nameOwner.getOwner():获取当前姓名输入框所属的主实体,转型为gw.entity.Contact确保我们操作的是联系人对象
  • contact.typeis (类型列表):支持批量判断多个子类型,只要联系人属于其中任意一种,就触发必填规则
  • 返回false:表示不豁免FirstName的必填要求(即该字段必须填写);其他类型继续沿用原有逻辑

注意事项

  • 确保类型名称拼写准确(比如AbAttorney要修正为ABAttorney,保持与系统内定义一致)
  • 增加contact != null判断避免空指针异常,防止非联系人实体的场景报错

内容的提问来源于stack exchange,提问作者Matt Campbell

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 10:02:09