feat: generate fields validation and use it when sending requests to API (#7)

* feat: generate fields validation and use it when issuing requests to API with soft (default) or hard modes

* chore: apply linter fixes

* feat: enable field validation on int fields

* feat: add validation for ^[\w]+$ fields

* feat: add validation for MAC address fields

* fix: trim wrappers for all comments

* feat: add validation for IPv4, IPv6 and IP(IPv4/IPv6) fields

* feat: add validation for numeric, non-zero based fields

* fix: one of validation can contain dot (.) sign in values

* feat: add second notation of MAC address validation

* fix: one of validation can start with ^( and end with )$

* feat: add option to disable validation and use soft validation by default

* chore: fix test

* docs: add readme about client-side validation
This commit is contained in:
Mateusz Filipowicz
2025-02-09 21:08:21 +01:00
committed by GitHub
parent 9f4fe33d07
commit 53bb1a13b9
55 changed files with 1326 additions and 588 deletions

View File

@@ -25,9 +25,9 @@ type DpiGroup struct {
NoDelete bool `json:"attr_no_delete,omitempty"`
NoEdit bool `json:"attr_no_edit,omitempty"`
DPIappIDs []string `json:"dpiapp_ids,omitempty"` // [\d\w]+
DPIappIDs []string `json:"dpiapp_ids,omitempty" validate:"omitempty,w_regex"` // [\d\w]+
Enabled bool `json:"enabled"`
Name string `json:"name,omitempty"` // .{1,128}
Name string `json:"name,omitempty" validate:"omitempty,gte=1,lte=128"` // .{1,128}
}
func (dst *DpiGroup) UnmarshalJSON(b []byte) error {