From 42083effd20071267294e86694943c656d2e862e Mon Sep 17 00:00:00 2001 From: Fritz Michael Gschwantner Date: Thu, 26 Feb 2026 15:39:27 +0100 Subject: [PATCH 1/3] Document the Password widget --- docs/dev/reference/widgets/password.md | 33 ++++++++++++++++-- .../images/dev/reference/widgets/password.png | Bin 0 -> 4848 bytes 2 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 page/assets/images/dev/reference/widgets/password.png diff --git a/docs/dev/reference/widgets/password.md b/docs/dev/reference/widgets/password.md index 3970975a8..2834b3646 100644 --- a/docs/dev/reference/widgets/password.md +++ b/docs/dev/reference/widgets/password.md @@ -1,6 +1,35 @@ --- title: Password -description: Password text field (not yet documented) +description: Password text field. --- -{{< widget-notice >}} +This widget renders a `type="password"` text field, with the ability to show the otherwise obfuscated password (when +newly entered). + +![Password]({{% asset "images/dev/reference/widgets/password.png" %}}?classes=shadow) + +## Options + +This widget has not special options, but all options for the [`text`]({{% relref "text" %}}) widget are also +relevant. + +| Key | Value | +|-------------------|-----------------------------|--- +| `inputType` | `password` (string) | + +## Example + +```php +// … +'myPassword' => [ + 'inputType' => 'password', + 'eval' => [ + 'mandatory' => true, + 'preserveTags' => true, + 'minlength' => Config::get('minPasswordLength'), + 'tl_class' => 'w50' + ], + 'sql' => ['type' => 'string', 'length' => 255, 'default' => ''], +], +// … +``` diff --git a/page/assets/images/dev/reference/widgets/password.png b/page/assets/images/dev/reference/widgets/password.png new file mode 100644 index 0000000000000000000000000000000000000000..777b8034c77991858277a4b585a9573e0071b46e GIT binary patch literal 4848 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 LCc0I39!LHU@v)4S literal 0 HcmV?d00001 From 954c98b83b262d6c1a974d182f7b605b99a3f1b5 Mon Sep 17 00:00:00 2001 From: Fritz Michael Gschwantner Date: Thu, 26 Feb 2026 15:39:47 +0100 Subject: [PATCH 2/3] fix typo --- docs/dev/reference/widgets/password.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/dev/reference/widgets/password.md b/docs/dev/reference/widgets/password.md index 2834b3646..a6d35d7d7 100644 --- a/docs/dev/reference/widgets/password.md +++ b/docs/dev/reference/widgets/password.md @@ -10,7 +10,7 @@ newly entered). ## Options -This widget has not special options, but all options for the [`text`]({{% relref "text" %}}) widget are also +This widget has no special options, but all options for the [`text`]({{% relref "text" %}}) widget are also relevant. | Key | Value | From f1aab09eb1769206f9862a3fbc3d10174fc956aa Mon Sep 17 00:00:00 2001 From: Fritz Michael Gschwantner Date: Thu, 26 Feb 2026 16:57:06 +0100 Subject: [PATCH 3/3] Remove preserveTags --- docs/dev/reference/widgets/password.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/dev/reference/widgets/password.md b/docs/dev/reference/widgets/password.md index a6d35d7d7..58b54e48d 100644 --- a/docs/dev/reference/widgets/password.md +++ b/docs/dev/reference/widgets/password.md @@ -25,7 +25,6 @@ relevant. 'inputType' => 'password', 'eval' => [ 'mandatory' => true, - 'preserveTags' => true, 'minlength' => Config::get('minPasswordLength'), 'tl_class' => 'w50' ],