Oracle APEX Password Validator - Item Plugin with Live Rules & Pass Generator

APEX Item Plugin Security

Building a Password Validator Plugin for Oracle APEX

A drop-in replacement for the native Password item — live rule validation, a strength meter, and a one-click password generator, with zero extra database objects.

📅 August 2026 👤 Sajjad Hanifa ⏱ ~7 min read 🏢 S&H Software Solution
Password Validator plugin for Oracle APEX — live rule validation popover
Password Validator in action — live rule checking as the user types

The native APEX Password item does exactly one thing: it masks what you type. It has no idea whether that value is 3 characters or 30, whether it contains a digit, or whether it is just the username typed backwards. Every project I've built ends up recreating the same password policy by hand — a validation here, a dynamic action there, copy-pasted from the last app.

So I turned it into a plugin. Password Validator is a full item type for Oracle APEX that validates every rule live in the browser, shows the result in a popover as the user types, and can optionally generate a strong password for them with one click. This article walks through what it does and how to install it — the full source, the plugin export and the complete attribute reference are on GitHub.

💡
Source code: The plugin, its PL/SQL, JS and CSS, and the full documentation are open source on GitHub: github.com/Sajjad-786/apex-password-validator.

How It Works

The item renders like a normal password field, with a small popover attached to it. As the user types, every rule you've enabled is re-checked instantly — no submit, no server round-trip.

Live rule popover — each configured rule shows ✅ or ❌ as the value changes
Character & length rules — upper/lower case, digits, special characters, and configurable min/max length
Restrictions — no spaces, no repeats, no sequences (abc, 123), no common passwords, no username inside the password
Password generator — an optional button opens a generate → review → apply popup and copies the accepted password to the clipboard
Strength meter & reveal toggle — instant visual feedback, plus a native show/hide eye icon

Attribute Groups

All 20 attributes are grouped exactly like Page Designer shows them. Every one is optional — enable only what your policy needs:

GroupWhat it configures
⚡  Button controlOptional generator button and its static ID
🟧  Basic validationRequired value
🔠  Character validationUpper/lower case, digits, special characters, allowed-specials list
📏  Length validationMinimum and maximum length, each independently toggleable
🚫  RestrictionsSpaces, repeats, sequences, common passwords, username check
✨  UX featuresStrength meter, reveal toggle

Full attribute-by-attribute reference with defaults: README on GitHub.


01
Step One
Install the Plugin
App Builder → Import · Item Type Plugin

Download the plugin export and import it like any other component — no SQLcl script, no extra table, nothing to compile by hand.

Password validator plugin definition in Oracle APEX Shared Components
The plugin after import — Shared Components → Plug-ins → Password validator
In your app: App Builder → Import → select the file → Type "Plug-In" → Next → Install
Confirm it appears under Shared Components → Plug-ins → Password validator
On any page item, set Type to Password validator

02
Step Two
Configure the Validation Rules
Page Designer · Custom Attributes

Every rule lives in Page Designer, grouped the same way as the table above. Here is a strict corporate policy — 12 characters, every character class required, and a check against the username:

Password validator attributes in Oracle APEX Page Designer
All 20 attributes, grouped by category, directly in Page Designer
config — strict policy
Required value:  Yes
Upper case / Lower case / Digits / Special chars:  all Yes
Min. check: Yes  (Min. length: 12)
No spaces / No repeats / No sequences / Block common:  all Yes
No username: Yes   Username item: P1_USERNAME
⚠️
Note: The password value itself is never written into a data-* attribute — only the plugin's configuration is. The value stays in the input element, exactly like the native Password item.

03
Step Three
Turn On the Generator & Strength Meter
Password Generator · Strength meter · Reveal toggle

This is the part users actually notice. With Password Generator enabled, a button opens a popup that suggests a password matching every active rule; accepting it fills the field and copies the value to the clipboard in one step. Add Strength meter and Reveal toggle and the field behaves like a modern sign-up form field, not a native APEX item:

Password validator live rule popover in action
Live validation popover — every unmet rule is marked as the user types
✅
Result: A password field that explains its own rules, generates a compliant password on request, and never needs a separate validation or dynamic action to enforce a policy.

Final Thoughts

This started as the same password-policy boilerplate I kept rebuilding per project — it ended up as a plugin I now drop into every login and sign-up page instead. It's released under the MIT license, so it's free to use, modify and redistribute in your own apps.

🐙
Found a bug or have an idea? Open an issue on GitHub: github.com/Sajjad-786/apex-password-validator/issues.
SH
Sajjad Hanifa
Software Developer · S&H Software Solution · Oracle APEX Plugins & Automation
Oracle APEX Item Plugin Password Validation Security Open Source PL/SQL

 {fullWidth}

Please Select Embedded Mode To Show The Comment System.*

Previous Post Next Post

نموذج الاتصال