<MarketoForm>
ComponentRenders a form from Marketo.
<MarketoFormmetadata={{result: [{id: 9999,name: "FORM - Contact Sales",description: "",createdAt: "2020-08-26T21:35:12Z+0000",updatedAt: "2022-11-11T01:39:32Z+0000",url: "https://app-ab32.marketo.com/#FO1307B2",status: "approved",theme: "simple",language: "English",locale: "en_US",progressiveProfiling: false,labelPosition: "left",fontFamily: "Helvetica",fontSize: "13px",folder: {type: "Folder",value: 32792,folderName: "01. In use forms",},knownVisitor: {type: "form",template: null,},thankYouList: [{followupType: "none",followupValue: null,default: true,},],buttonLocation: 120,buttonLabel: "Submit",waitingLabel: "Please Wait",workSpaceId: 1,},],}}fields={{result: [{id: "FirstName",label: "First Name:",dataType: "text",validationMessage: "This field is required.",required: true,visibilityRules: {ruleType: "alwaysShow",},},{id: "LastName",label: "Last Name:",dataType: "text",validationMessage: "This field is required.",required: true,visibilityRules: {ruleType: "alwaysShow",},},{id: "Email",label: "Business Email:",dataType: "email",validationMessage:"Must be valid email. <span class='mktoErrorDetail'>example@yourdomain.com</span>",required: true,visibilityRules: {ruleType: "alwaysShow",},},{id: "Company",label: "Company:",dataType: "text",validationMessage: "This field is required.",required: true,visibilityRules: {ruleType: "alwaysShow",},},{id: "FavoriteProduct",label: "Favorite HashiCorp Product",dataType: "select",required: true,validationMessage: "This field is required.",visibilityRules: {ruleType: "alwaysShow",},fieldMetaData: {values: [{ label: "Terraform", value: "terraform" },{ label: "Packer", value: "packer" },{ label: "Consul", value: "consul" },{ label: "Vault", value: "vault" },{ label: "Boundary", value: "boundary" },{ label: "Nomad", value: "nomad" },{ label: "Waypoint", value: "waypoint" },{ label: "Vagrant", value: "vagrant" },],},},{id: "appendToNotes",label: "Comments",dataType: "textArea",required: false,validationMessage: "This field is required.",visibilityRules: {ruleType: "alwaysShow",},},{id: "Phone",label: "Phone:",dataType: "text",validationMessage: "This field is required.",required: false,visibilityRules: {ruleType: "show",rules: [{subjectField: "fastTracktoSales",operator: "is",values: ["yes"],altLabel: "Phone Number:",},],},},{id: "fastTracktoSales",label:"I'd like a sales person to contact me about a trial or pricing.",dataType: "checkbox",validationMessage: "This field is required.",rowNumber: 6,columnNumber: 0,required: false,formPrefill: true,fieldMetaData: {initiallyChecked: false,},visibilityRules: {ruleType: "alwaysShow",},},{id: "Consent_Privacy_Policy__c",label: "Send me news about HashiCorp products, releases and events.",dataType: "checkbox",validationMessage: "This field is required.",rowNumber: 6,columnNumber: 0,required: false,formPrefill: true,fieldMetaData: {initiallyChecked: false,},visibilityRules: {ruleType: "alwaysShow",},},{id: "SHRtbFRleHRfMjAyMy0wNC0wNVQyMjo0NDo0Ny45OTZa",labelWidth: 260,dataType: "htmltext",rowNumber: 9,columnNumber: 0,visibilityRules: {ruleType: "alwaysShow"},text: "By submitting this form, you acknowledge and agree that HashiCorp will process your personal information in accordance with the <a href=\"https://hashicorp.com/privacy\" target=\"_blank\" id=\"\">Privacy Policy</a>."}],}}submitTitle="Download Now"onSubmitSuccess={() => alert("Success!")}onSubmitFailure={() => alert("Failure!")}formName="Contact Sales"/>
;
Name | Description |
---|---|
formId* number | The numeric ID of the Marketo form that this component is rendering. |
marketoForm* object | The API response containing the fields of the form this component should render. |
groups object | Mapping of fields that should be rendered with a single component. |
components object | Custom components to use instead of the built-in components Object contains nested props, see below: |
components.text React.ComponentType | Component to use for text fields |
components.email React.ComponentType | Component to use for email fields |
components.select React.ComponentType | Component to use for select fields |
components.checkbox React.ComponentType | Component to use for checkbox fields |
components.hidden React.ComponentType | Component to use for hidden fields |
submitTitle string | Title to use for the submit button |
className string | Additional classNames passed to the form element. |
onSubmitSuccess function | Callback function invoked on submission success |
onSubmitFailure function | Callback function invoked on submission failure |