# @ohos.app.form.formBindingData (formBindingData) The **FormBindingData** module provides APIs for widget data binding. You can use the APIs to create a **FormBindingData** object and obtain related information. > **NOTE** > > The initial APIs of this module are supported since API version 9. Newly added APIs will be marked with a superscript to indicate their earliest API version. ## Modules to Import ```ts import { formBindingData } from '@kit.FormKit'; ``` ## ProxyData10+ Defines the subscription information about the widget update by proxy. **Model restriction**: This API can be used only in the stage model. **Atomic service API**: This API can be used in atomic services since API version 11. **System capability**: SystemCapability.Ability.Form | Name | Type | Mandatory | Description | | -------- | -------- | -------- | -------- | | key10+ | string | Yes | Subscriber ID of the widget update by proxy. The value is the same as that of the data publisher.| | subscriberId10+ | string | No | Subscription condition of the widget update by proxy. The default value is the current widget ID (specified by **formId**).| ## FormBindingData Describes a **FormBindingData** object. **Atomic service API**: This API can be used in atomic services since API version 11. **System capability**: SystemCapability.Ability.Form | Name | Type | Mandatory | Description | | -------- | -------- | -------- | -------- | | data | Object | Yes | Data to be displayed on the widget. The value can be an object containing multiple key-value pairs or a string in JSON format.| | proxies10+ | Array<[ProxyData](#proxydata10)> | No | Subscription information of the widget update by proxy. The default value is an empty array.
**Model restriction**: This API can be used only in the stage model.
| ## createFormBindingData createFormBindingData(obj?: Object | string): FormBindingData Creates a **FormBindingData** object. **Atomic service API**: This API can be used in atomic services since API version 11. **System capability**: SystemCapability.Ability.Form **Parameters** | Name | Type | Mandatory | Description | | ------ | -------------- | ---- | ------------------------------------------------------------ | | obj | Object\|string | No | Data to be displayed on the widget. The value can be an object containing multiple key-value pairs or a string in JSON format. The image data is identified by **'formImages'**, and the content is multiple key-value pairs, each of which consists of an image identifier and image file descriptor. The final format is {'formImages': {'key1': fd1, 'key2': fd2}}.| **Return value** | Type | Description | | ----------------------------------- | --------------------------------------- | | [FormBindingData](#formbindingdata) | **FormBindingData** object created based on the passed data. | **Error codes** | ID | Error Message | | -------- | -------- | | 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed | For details about the error codes, see [Form Error Codes](errorcode-form.md). **Example** ```ts import { formBindingData } from '@kit.FormKit'; import { BusinessError } from '@kit.BasicServicesKit'; import { fileIo } from '@kit.CoreFileKit'; try { let file = fileIo.openSync('/path/to/form.png'); let formImagesParam: Record = { 'image': file.fd }; let createFormBindingDataParam: Record = { 'name': '21°', 'imgSrc': 'image', 'formImages': formImagesParam }; formBindingData.createFormBindingData(createFormBindingDataParam); } catch (error) { let code = (error as BusinessError).code; let message = (error as BusinessError).message; console.error(`catch error, code: ${code}, message: ${message}`); } ```