joeybloggs
7e97fcf2c4
Add exists tag
...
exists tag used to ensure that a Pointer, Interface or
Invalid has a value, but won't interfere with any other validation.
9 years ago
joeybloggs
d2ea21ad15
Add RegisterCustomTypeFunc for easier adding of CustomTypeFunc
...
Thanks @johnniedoe for ths pull request!
9 years ago
Kevin Harrington
7c844893e1
Added RegisterCustomTypeFunc method and usage example.
9 years ago
joeybloggs
d363ed316c
Add handling of custom types
...
can add custom type handling, example: sql driver Valuer
can override any base data type like string or int ( I'd be carefull about that, but you can )
9 years ago
joeybloggs
e078205c78
Update Required & Invalid logic
...
updated required validator to check for a nil value for types:
slice, map, pointer, interface, channel and function.
updated tranverseField to handle invalid field type.
Changes to be committed:
modified: baked_in.go
modified: doc.go
modified: validator.go
modified: validator_test.go
9 years ago
joeybloggs
cdc48b4f90
Fix Bug in Ptr tests
9 years ago
joeybloggs
2baa4bd353
Minor code cleanup
9 years ago
joeybloggs
41b4a43989
Updated documentation for new v6
9 years ago
joeybloggs
e005b06f11
Add Field Tag caching
...
now the benchmarks are getting back to awesome!
9 years ago
joeybloggs
e2a5b9881e
Add ValidationErrs Caching
...
when no errors occur, let's reuse the existing object.
9 years ago
joeybloggs
7f4b49c751
Finished Tests, now at 100% test converage!
9 years ago
joeybloggs
4ce39526f6
Update Test Case + fix errors
...
Updated all tests to comply with new api.
Fix a few bugs found with validation.
9 years ago
joeybloggs
24d46304a8
Updating & re-injecting tests
...
updating test for the new error return formet
updated assertion functions to handle a nil Map,Slice,Ptr.....type
fixed hasValue check not comparing Interface but field Value.
9 years ago
joeybloggs
88cc19b9e1
Add traverseMap function
9 years ago
joeybloggs
4d2ffbedfc
Added traverseSlice function
9 years ago
joeybloggs
019c5fc4ac
Finished converting baked in functions & some updates
...
completed all validations function conversion.
updated omitempty check to continue if all ok instead of
passing tag to be validated.
9 years ago
joeybloggs
68ba87af24
More Progess
...
added single field validation function.
updated a few more baked in functions.
added back single field validation benchmark.
9 years ago
joeybloggs
7af3fb7c1f
initial validation logic reworked
...
initial function layouts and validation completed, still need to rework
all of the baked in functions, add map and array traversal and add back original
test cases.
NOTE: a far more pragmatic validation tests will be added, but not until it has
been proven stable with at least the old tests.
9 years ago
joeybloggs
9596b89a26
working on traversing field values
...
whether it's a struct field or just a regular field
working on a single function to handle both to reduce
checking the same values within struct field recursion or
a regular field; this will also help reduce code complexity
and keep things DRY.
9 years ago
joeybloggs
e42d7b683a
determined variable values to be passed
...
for #74
9 years ago
joeybloggs
c62550c414
Investigating difference speed architectures
...
investigation if goroutines in a consumer producer pattern vs passing a map
Spoiler: the map wins out big time!
9 years ago
joeybloggs
e1fd32247f
Fix interface issue when value is set but no validation tag exists
9 years ago
joeybloggs
562e77833a
change to use native sync.Pool
...
for #98
10 years ago
joeybloggs
92bd6b335a
code cleanup
...
for #88
10 years ago
joeybloggs
f604b6cc96
Complete Flatten logic
...
for #88
10 years ago
joeybloggs
4d57165562
fix wrong variable used in checking for "[" char
...
for #85
10 years ago
joeybloggs
7d55bfddde
complete flatten logic for array elements
...
for #85
10 years ago
joeybloggs
c7ff296dca
correct interface issue
...
add handling of interface validation by determining it's type
for issue #85
10 years ago
joeybloggs
200a5b4aad
finish map error handling & complete test coverage
...
for #78
10 years ago
joeybloggs
8bf793acde
correct map references pointing to slice after copy/paste
...
for#78
10 years ago
joeybloggs
14f176e8ac
add traverseMap
...
for #78
10 years ago
joeybloggs
98f4165fae
added time test
...
fix issue with time.Time data type validation
10 years ago
joeybloggs
a0f6d14ada
add more tests
...
correct pointer issue is traverseArray
for #78
10 years ago
joeybloggs
689d3e9989
finalized array error handling
...
for #78
10 years ago
joeybloggs
1ba858eec1
correct FieldError error printing idea issue
...
for #78
10 years ago
joeybloggs
6eded1f817
correct error output and index out of order error
...
for #78
10 years ago
joeybloggs
d019d02290
Add some initial validation
...
change slice errors variable type to map[int]error to allow tracking of index of the error i the array
for #78
10 years ago
joeybloggs
4afdc19aef
Finish initial array traversal logic
...
for #78
10 years ago
joeybloggs
e0e86490bf
Fix Issue with nested struct as pointer being nil
...
for #79
10 years ago
joeybloggs
e0bfa17b22
add initial dive logic
10 years ago
joeybloggs
9ff11ae808
break out benchmarks into separate file
...
create examples file for better godocs
10 years ago
joeybloggs
fcbf6b65e4
add caching pool of StructErrors to reuse objects, reduce garbage collection and reduce memory allocations
...
for #56
10 years ago
joeybloggs
0fbc3228e8
rework code to allow handling of comma (,) and = within the params i.e. excludesall=,=
...
add test cases for comma and = validation within params
add documentation stating how to include a comma within the parameters
for #67
10 years ago
joeybloggs
793099be40
remove trimming of param option as space could be a valid param option or char
...
for #63
10 years ago
joeybloggs
ad39bb92dd
code cleanup
10 years ago
joeybloggs
6ffa5d1455
add thread safety note to AddFunction and SetTag functions
10 years ago
joeybloggs
8c2248a5ce
add map thread safety
10 years ago
joeybloggs
0c5fbee316
code cleanup + variable renaming
...
restructure fieldWithNameAndSingleTag for speed + less allocations
10 years ago
joeybloggs
e4f2ff67bd
add caching of field only tags, now less time, memory and only 2 allocations vs 9
10 years ago
joeybloggs
22d031deb0
add struct caching, significant speedup even in a simple test
...
NOTE: validating a single fields speed however was reduced and more memory allocations, need to correct this before marking caching as complete.
10 years ago