improve required field handling

This commit is contained in:
Pete Matsyburka committed 2025-03-28 22:42:27 +02:00
1 parent f1a2b71b59
commit 28e3d65e63
3 files changed
+55 -15

No files matched your search

@@ -72,6 +72,10 @@ class SubmitFormController < ApplicationController
Submitters::SubmitValues.call(submitter, params, request)
head :ok
rescue Submitters::SubmitValues::RequiredFieldError => e
Rollbar.warning("Required field #{submitter.id}: #{e.message}") if defined?(Rollbar)
render json: { field_uuid: e.message }, status: :unprocessable_entity
rescue Submitters::SubmitValues::ValidationError => e
render json: { error: e.message }, status: :unprocessable_entity
end
+7 -1
View File
@@ -1404,7 +1404,13 @@ export default {
if (response.status === 422 || response.status === 500) {
const data = await response.json()
if (data.error) {
if (data.field_uuid) {
const field = this.fieldsUuidIndex[data.field_uuid]
this.goToStep(this.stepFields.findIndex((fields) => fields.includes(field)), this.autoscrollFields)
this.showFillAllRequiredFields = true
} else if (data.error) {
const i18nKey = data.error.replace(/\s+/g, '_').toLowerCase()
alert(this.t(i18nKey) !== i18nKey ? this.t(i18nKey) : data.error)