【问题标题】:Customizing Hubspot form error message (using react.js)自定义 Hubspot 表单错误消息(使用 react.js)
【发布时间】:2020-06-16 09:44:18
【问题描述】:

只是想知道是否有人有使用 react.js 嵌入 Hubspot 表单的经验

我们的一个页面中嵌入了一个 hubspot 表单。

这是设置表单的当前代码组件:

         <HubspotForm
            portalId="xxxxxxx"
            formId="xxxxxxxxxxxxxxxxxxxxxxxxxxxx"
            onSubmit={() => null}
            onReady={() => this.registerListeners()}
            loading={<div>Loading...</div>}
            css={hubspotcss}
            cssClass="hubspotForm"
          />

我要做的就是修改企业电子邮件字段的错误消息。所以我检查了https://developers.hubspot.com/docs/methods/forms/advanced_form_options

并找到自定义国际化部分来覆盖错误消息。据我所知,我需要添加以下代码:

          locale="en"
            translations= {
              en= {
                forbiddenEmailDomain= "Please enter a company email address"
              }
          }

但是当我编译代码时出现错误: 错误 'locale' is not defined no-undef

任何人都必须知道我做错了什么? 任何信息都非常感谢

谢谢 乔尔斯

【问题讨论】:

    标签: javascript reactjs gatsby hubspot


    【解决方案1】:

    在@Ferran Buireu 的建议下,我发现这对我有用。

    translations={{
    en:{
        forbiddenEmailDomain: "Please enter a company email address."
       }
    }}
    

    【讨论】:

    • 我已经更新了我的答案。我很高兴它有帮助。如果需要,您可以将我的答案标记为正确以关闭问题。
    【解决方案2】:

    根据您提供的文档:

    嵌入代码需要{locale: {messageKey: customMessage}} 格式。您可以通过指定 标签为{locale: {fieldLabels: {fieldName: customLabel}}},并且 使用{locale:{submitText: customSubmitText}} 提交按钮文本参见 右侧代码窗格中的示例。

    因此,组件需要一个对象,而您的结构不匹配。它应该看起来像:

    translations={{
    en:{
        forbiddenEmailDomain: "Please enter a company email address."
       }
    }}
    

    注意闭包在里面打开一个子对象。

    参考here

    【讨论】:

    • 感谢您使用您的方法更正它,发现它可以使用双括号:translations={{ en:{forbiddenEmailDomain: "请输入公司电子邮件地址。" } }}
    猜你喜欢
    • 2011-03-27
    • 2013-01-05
    • 2017-07-02
    • 2011-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多