class RailsToolViews::ValidationError
Host-owned validation feedback. Only return approved, schema-validated form values; rejected requests do not change Surface or domain persistence. A rejected form with field messages and explicitly safe retained values.
Attributes
Public Class Methods
# File lib/rails_tool_views/core.rb, line 107 def initialize(fields:, values: {}, message: nil) @fields, @values = Data.bounded(fields), Data.bounded(values) unless @fields.is_a?(Hash) && @values.is_a?(Hash) && @fields.all? { |key, text| key.match?(/\A[a-z][a-z0-9_]*\z/) && text.is_a?(String) && text.length <= 500 } raise Error.new("INVALID_VALIDATION_FEEDBACK") end Data.freeze_deep(@fields) Data.freeze_deep(@values) super("VALIDATION_FAILED", status: 422, message: message) end
Creates field feedback with only the values the host approves for redisplay.
Calls superclass method
RailsToolViews::Error::new
Public Instance Methods
Source
# File lib/rails_tool_views/core.rb, line 117 def to_h super.merge(fields: fields, values: values) end
Returns a bounded rejection payload for the caller.
Calls superclass method
RailsToolViews::Error#to_h