• Eilen6316's avatar
    fix: prevent silent save failure in admin settings form · 73eb7318
    Eilen6316 authored
    
    
    The settings form contains multiple <input type="url"> fields that lack
    a name attribute. When a field value fails browser URL validation, the
    browser silently blocks form submission without showing an error — no
    network request is made, and the user sees no feedback.
    
    Root cause: HTML5 form validation requires a focusable element with a
    name attribute to surface errors. Without it, validation fails silently.
    
    Fix:
    - Add novalidate to the <form> to disable browser-native URL validation
    - Add an isValidHttpUrl() helper in saveSettings() to replicate the
      same checks the backend performs
    - Optional URL fields (frontend_url, doc_url): auto-clear invalid values
      instead of blocking the save, matching backend behaviour (these fields
      accept empty string without error)
    - purchase_subscription_url: block save with a clear error message when
      enabled + invalid; auto-clear when disabled to prevent the backend 400
      "Purchase Subscription URL must be an absolute http(s) URL" error
    Co-Authored-By: default avatarClaude Sonnet 4.6 <noreply@anthropic.com>
    73eb7318
SettingsView.vue 105 KB