-
Notifications
You must be signed in to change notification settings - Fork 26
Open
Description
Describe the bug
Schema validation tags (like "required") are not being taken into account for "formData" fields. Validation is not being performed.
To Reproduce
Please run a server with: https://go.dev/play/p/IJ3IkfC3VxQ
My go.mod is:
module rest_example
go 1.23.1
require (
github.com/go-chi/chi/v5 v5.2.1
github.com/google/uuid v1.6.0
github.com/swaggest/jsonschema-go v0.3.78
github.com/swaggest/rest v0.2.74
github.com/swaggest/usecase v1.3.1
)
require (
github.com/cespare/xxhash/v2 v2.3.0 // indirect
github.com/santhosh-tekuri/jsonschema/v3 v3.1.0 // indirect
github.com/swaggest/form/v5 v5.1.1 // indirect
github.com/swaggest/openapi-go v0.2.57 // indirect
github.com/swaggest/refl v1.4.0 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
)
Test the code using cURL, with the field "desc" intentionally empty:
curl -v 'http://localhost:8080/example' \
-H 'Accept: application/json, text/plain, */*' \
-H 'Content-Type: multipart/form-data; boundary=----ExampleFormBoundary' \
--data-raw $'------ExampleFormBoundary\r\nContent-Disposition: form-data; name="name"\r\n\r\nExample name\r\n------ExampleFormBoundary\r\nContent-Disposition: form-data; name="desc"\r\n\r\n\r\n------ExampleFormBoundary\r\nContent-Disposition: form-data; name="contact"\r\n\r\nFAX\r\n------ExampleFormBoundary\r\nContent-Disposition: form-data; name="extras"\r\n\r\n[{"reqID":"01976449-06ef-7317-af95-5643608b7d70","serverTimestamp":"2025-06-12T13:16:36Z"}]\r\n------ExampleFormBoundary\r\n'
Expected behavior
cURL should show a bad request (HTTP Status 400) because field "desc" is not being populated.
Side note: field "extras" is not being populated.
vearutop
Metadata
Metadata
Assignees
Labels
No labels