UI: Contacts form validation — Create button not disabled when required fields empty #50

Closed
opened 2026-04-15 12:51:53 +00:00 by zaelgohary · 1 comment
Member

Description

In the new contact form, the "Create Contact" button is visually styled as disabled (has hero-btn-disabled class) but isDisabled() returns false. The button should be properly disabled (not just styled) when required fields (Name, Public Key) are empty.

Additionally, clicking the disabled-looking button produces no error message or validation feedback.

Steps to Reproduce

  1. Open Communication > Contacts
  2. Click "+ New Contact"
  3. Without filling any fields, observe the "Create Contact" button
  4. It appears grayed out but is not actually disabled in the DOM

Expected

  • Button should have disabled attribute when required fields are empty
  • OR clicking it should show field-level validation errors

Severity

Low — the button is visually indicated as disabled, just not semantically

## Description In the new contact form, the "Create Contact" button is visually styled as disabled (has `hero-btn-disabled` class) but `isDisabled()` returns `false`. The button should be properly disabled (not just styled) when required fields (Name, Public Key) are empty. Additionally, clicking the disabled-looking button produces no error message or validation feedback. ## Steps to Reproduce 1. Open Communication > Contacts 2. Click "+ New Contact" 3. Without filling any fields, observe the "Create Contact" button 4. It appears grayed out but is not actually disabled in the DOM ## Expected - Button should have `disabled` attribute when required fields are empty - OR clicking it should show field-level validation errors ## Severity Low — the button is visually indicated as disabled, just not semantically
Author
Member

Screenshots

deep_contacts_02_new_form.png

deep_contacts_02_new_form.png

## Screenshots ### deep_contacts_02_new_form.png ![deep_contacts_02_new_form.png](https://forge.ourworld.tf/attachments/15d49284-894e-4651-9301-086919fda2d5)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lhumina_code/hero_os#50
No description provided.