## [Bug] Cost Input Field Accepts Non-Numeric Characters and Prevents Saving in Fundraiser Setup #195

Closed
opened 2026-05-24 16:19:22 +00:00 by enjin2310 · 1 comment

🧩 Summary

In the Fundraisers section, during step 2 (Artículos) of the fundraiser configuration modal, the cost input field allows non-numeric characters (letters and symbols) and fails to save the item even after valid data entry. This prevents users from progressing to the next step.

🧪 Steps to Reproduce

  1. Navigate to learn.spikersoft.com/fundraisers.
  2. Click Nueva recaudación.
  3. Proceed to step 2 (Artículos).
  4. Enter a name and type letters or symbols in the Tu costo (lo que pagas) field.
  5. Attempt to click Guardar artículo or Continuar.

Expected Behavior

  • The cost input should only accept numeric values (e.g., 0.25, 10, 100.00).
  • The Guardar artículo button should activate once valid numeric input is provided.
  • The item should save successfully and allow progression to the next step.

Actual Behavior

  • The input field accepts any text, including letters (qadasd).
  • The Guardar artículo button remains disabled.
  • The system displays a warning:
    “Guarda al menos un artículo antes de continuar.”
  • The user cannot proceed to the next step.

📸 Evidence

The attached screenshot shows the modal with invalid text entered in the cost field ($qadasd) and the save button disabled.

🧠 Possible Root Cause

  • Missing input validation for numeric-only values.
  • Incorrect data type handling in the form state.
  • Validation logic not triggering the save button activation.
### 🧩 Summary In the **Fundraisers** section, during step 2 (**Artículos**) of the fundraiser configuration modal, the **cost input field** allows non-numeric characters (letters and symbols) and fails to save the item even after valid data entry. This prevents users from progressing to the next step. ### 🧪 Steps to Reproduce 1. Navigate to `learn.spikersoft.com/fundraisers`. 2. Click **Nueva recaudación**. 3. Proceed to step 2 (**Artículos**). 4. Enter a name and type letters or symbols in the **Tu costo (lo que pagas)** field. 5. Attempt to click **Guardar artículo** or **Continuar**. ### ✅ Expected Behavior - The cost input should **only accept numeric values** (e.g., `0.25`, `10`, `100.00`). - The **Guardar artículo** button should activate once valid numeric input is provided. - The item should save successfully and allow progression to the next step. ### ❌ Actual Behavior - The input field accepts any text, including letters (`qadasd`). - The **Guardar artículo** button remains disabled. - The system displays a warning: **“Guarda al menos un artículo antes de continuar.”** - The user cannot proceed to the next step. ### 📸 Evidence The attached screenshot shows the modal with invalid text entered in the cost field (`$qadasd`) and the save button disabled. ### 🧠 Possible Root Cause - Missing input validation for numeric-only values. - Incorrect data type handling in the form state. - Validation logic not triggering the save button activation.
Owner

Fixed in spikersoft-angular PR #14.

The cost field was a native number input that silently dropped non-numeric keystrokes into an empty value, so the amount never registered, the profit calculator (which sets the selling price required to enable Save) never appeared, and "Save item" stayed permanently disabled. It's now a text field with inputmode=decimal that sanitizes input to a valid currency value (digits + one decimal, max two places), so non-numeric characters are stripped in place and a valid amount enables saving. Regression tests added.

Fixed in spikersoft-angular PR #14. The cost field was a native number input that silently dropped non-numeric keystrokes into an empty value, so the amount never registered, the profit calculator (which sets the selling price required to enable Save) never appeared, and "Save item" stayed permanently disabled. It's now a text field with `inputmode=decimal` that sanitizes input to a valid currency value (digits + one decimal, max two places), so non-numeric characters are stripped in place and a valid amount enables saving. Regression tests added.
Sign in to join this conversation.