# [Usage](../../../usage.md) > [Components and standard attributes](../basics.md) > hint

---
`hint` | `->setHint()`

If a visual component, such as a Button, will set a [popup-message](../../utilities/frontend/simple_popup.md) at the mouse passage. If is a Form component, such as an Input, it will display a message below the input.

| Types    | Default |
|----------|---------|
| `string` | `null`  |

Helper text: on Form fields it shows below the input, on Visuals (e.g. `Button`) it shows as a hover popup message. Used for validation hints, format examples, or warnings. When omitted (`null`) no hint renders.
Accepts HTML (e.g. `<b>NOTE</b>`) and Closures.

### Example
Blade:
```php
{!! \KFramework\Components\Forms\Input::make()->setName('password')->setHint('Min 8 chars, mixed case + symbol') !!}
```
Controller:
```php
Input::make('password')->setType('password')->setHint('Min 8 chars, mixed case + symbol');
```

### Interaction / tips
- Pair with `validate` (../shared_attributes/validate.md) + `required` (../shared_attributes/required.md) to explain rules.
- For schema-wide overlays use `hintOverlay` (../shared_attributes/hintOverlay.md) instead of per-field `hint`.
- Keep hints short; long docs belong in `content` (../shared_attributes/content.md) or modal.
- Update reactively with `updateOnChange` (../shared_attributes/update_on_change.md) / `onLoadChange` (../shared_attributes/on_load_change.md) via `UpdateField::make(...)->setHint(...)`.

See also: [hintOverlay](hintOverlay.md), [validate](validate.md), [required](required.md), [placeholder](placeholder.md), [basics](../basics.md), [Input](../forms/input.md).