# Configuring Field Display Options

For all input fields in the payment form, you can choose whether you want them to contain placeholder text and how you want their labels to be displayed. The default behavior is to always display the labels above the input fields and never show placeholders. You can change this behavior by using the following two properties inside `uiCustomData`:

* `inputPlaceholder`. This is `false` by default, and when you set it to `true`, input labels are duplicated inside each input as placeholder text.

  ```json
  <paymentPageData>
      <ppsJSONConfig>
          {
            "uiCustomData": {
              "inputPlaceholder": true
            }
          }
      </ppsJSONConfig>
  </paymentPageData>
  ```
* `inputLabelType`. By default, the value is `UPPER`, meaning that a label is displayed above each input. You can set this to `HIDDEN` to hide labels altogether, or `DYNAMIC` to display labels *above* inputs that receive focus and *inside* inputs otherwise. When using `DYNAMIC`, avoid setting `inputPlaceholder` to `true` to prevent overlapping of labels and placeholders within inputs.

  ```json
  <paymentPageData>
      <ppsJSONConfig>
          {
            "uiCustomData": {
              "inputLabelType": "HIDDEN"
            }
          }
      </ppsJSONConfig>
  </paymentPageData>
  ```

Note that `inputPlaceholder` only affects input fields, not drop-down fields (expiry month and date, and number of payments). As to `inputLabelType`, setting `HIDDEN` will hide the labels for drop-downs, but `DYNAMIC` will have no effect on them.

Here's what the payment page looks like in the default configuration when `inputPlaceholder` is `false` and `inputLabelType` is `UPPER`:

![Default configuration](/files/Q5o7eL6QJ9iyrk5F5z7I)

When you set `inputPlaceholder` to true while keeping the default `inputLabelType`, placeholders appear inside inputs and labels are displayed above them:

![Placeholders inside inputs](/files/d5J12keQaZyPjZCnY6hC)

If you feel that having both labels and placeholders is redundant, set `inputPlaceholder` to `true` and `inputLabelType` to `HIDDEN`:

![Hiding labels](/files/7E9xh4q02e20fDoWiszv)

If you keep `inputPlaceholder` off by default and set `inputLabelType` to `DYNAMIC`, then as soon as an input receives focus, its label displays above the input; otherwise, it displays inside the input:

![Dynamic labels](/files/Bj8LGwUJSWIaE7cg2ord)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developers.hyp.co.il/creditguard/changing-the-default-payment-page-appearance/configuring-field-display-options.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
