andreas
8ed00e2e12
Change behavior instead of error, we Indirect it to get the non-pointer value
6 years ago
andreas
9eeca29136
detail error message on RegisterStructValidationCtx finding pointer arg
6 years ago
andreas
5b14fca011
Returns error when passing pointer to RegisterStructValidation
6 years ago
heatwole
0a9b75fbfd
Adding html and url encoding and updating docs
6 years ago
Noi Bar
f2fdb60d7d
Add file path validation
6 years ago
Dean Karn
ffe836d736
Expanded numeric & number validations
...
It was originally intended for these to only be used on strings, however
it makes sense to also use them if your dealing with type interface{}
so now ints and floats return true for this validation also as they are
both numeric and numbers.
closes #356
7 years ago
Joachim Adomeit
379fb67047
Fix for Email - Hostname is not validated correctly #359
7 years ago
Dean Karn
54da7fa48f
fix linting and spelling errors
7 years ago
James Service
8ae3903dd3
Extend the unique tag to also cover map values.
7 years ago
josh
073682ea75
added in more test cases and removed some redundant validation steps
7 years ago
josh
ce6284a6fc
confirm only all upper or all lower case address are valid
7 years ago
josh
6deddf27eb
proper bech32 address validation
7 years ago
josh
3df85bdcfc
p2sh validation and more tests
7 years ago
josh
60417282a4
verifies p2pkh addresses
7 years ago
josh
36d83b0b83
Added in validation function, tests, and docs
7 years ago
Kyriakos Georgiou
030800a855
Add validation for base64 URL safe values
7 years ago
Russ Egan
15217303f9
Add oneof validation
...
Validates that a string or number value equals one of a set of allowed values. Examples:
validator.Var(“red”, “oneof=red green”)
validator.Var(6, “oneof=6 7 8”)
7 years ago
Dean Karn
5e036656b8
Add hostname_rfc1123 validation
7 years ago
Dean Karn
b1f51f36f1
Correct consequtive or logic ( #330 )
7 years ago
Dean Karn
61caf9d303
add map key validation support ( #324 )
7 years ago
Dean Karn
11a1fab51d
Add unique validation
7 years ago
Dean Karn
f16354ec03
Add isdefault + fix fqdn
...
Closes #299
Fixes #306
7 years ago
Dean Karn
0d09605a05
100% test coverage
7 years ago
Dean Karn
0b5dc7605b
Add isdefault validation
7 years ago
Bruno Lorenz
1669b6e0ee
Fixed "Assignment Branch Condition too high"
7 years ago
Bruno Lorenz
08796346a0
Append new validations
...
- hostname
- fqdn
7 years ago
Dean Karn
0f6f568263
Add contextual validation support via context.Context ( #296 )
...
* Add contextual validation support via context.Context
Added:
- RegisterValidationCtx
- RegisterStructValidationCtx
- StructCtx
- StructFilteredCtx
- StructPartialCtx
- StructExceptCtx
- VarCtx
- VarWithValueCtx
7 years ago
Dean Karn
fb68f39656
Add Access to Field Name from FieldLevel ( #284 )
8 years ago
Dean Karn
4bd1935852
Updated README
...
- Corrected some typos in README which Fixes #273
- Updated Benchmarks for Go 1.8
- updated lint issue in one of the tests
8 years ago
Dean Karn
b250b44763
Update test & benchmarks
...
- Updated failing test for new translation error message.
- Updated benchmarks with new machine at the same time.
8 years ago
Dean Karn
077c3830f3
Correct Namespace when array or map of structs
...
namespace was incorrect when array or map of structs, see #266
8 years ago
Dean Karn
49fccadad1
correct structonly functionality
...
- structonly wasn’t behaving correctly when not used with an accompanying struct validation.
8 years ago
Dean Karn
4d76b0dd81
Add alphaunicode & aplhanumericunicode
...
- added unicode variants of alpha & alphanumeric
8 years ago
Dean Karn
493dfb6209
correct required tag functionality for pointers, now works like old `exists` tag.
8 years ago
Dean Karn
506cc5da56
Add Filter logic
8 years ago
Jawher Moussa
73e8e76de2
Fix universal translator imports so that goimports doesn't get remove them
...
Running goimports on the codebase deletes all the imports of "github.com/go-playground/universal-translator".
The fix consists of explicitly qualifying the import statements with ut.
8 years ago
Dean Karn
cddc415625
perf enhancements + corrected issue with or's
...
- or's weren't reporting the param back in the tag, long standing but noticed issue.
- added validation check for or's when more validations exist after the or.
8 years ago
Dean Karn
532878b008
initial translation/custom error code
8 years ago
joeybloggs
6765805f88
continuing perf optimizations
8 years ago
joeybloggs
01925e342a
regain 100% test coverage
8 years ago
joeybloggs
98dee40973
perf updates all around!
8 years ago
joeybloggs
8c60a612c5
code coverage back to 100% + some code cleanup
8 years ago
joeybloggs
2fe87f7a8d
better error message.
8 years ago
joeybloggs
5d28ac67f7
remove validatable logic as it does't really work, both with clarity and pointer vs non-pointer receivers
8 years ago
joeybloggs
1ff58be284
finish conversion of test + some fixes.
8 years ago
joeybloggs
3bf69e2bbd
converting tests
8 years ago
joeybloggs
7e731afde9
field name updates
8 years ago
joeybloggs
e0e1af6a61
working instance
8 years ago
joeybloggs
77f59a0ea0
corrected some spelling mistakes in documentation
8 years ago
joeybloggs
89d5a94084
final touches + README updates
...
fresh test of old vs new benchmarks
```go
benchmark old ns/op new ns/op delta
BenchmarkFieldSuccess-8 155 118 -23.87%
BenchmarkFieldFailure-8 777 758 -2.45%
BenchmarkFieldDiveSuccess-8 2813 2471 -12.16%
BenchmarkFieldDiveFailure-8 3544 3172 -10.50%
BenchmarkFieldCustomTypeSuccess-8 328 300 -8.54%
BenchmarkFieldCustomTypeFailure-8 748 775 +3.61%
BenchmarkFieldOrTagSuccess-8 1169 1122 -4.02%
BenchmarkFieldOrTagFailure-8 1205 1167 -3.15%
BenchmarkStructLevelValidationSuccess-8 670 548 -18.21%
BenchmarkStructLevelValidationFailure-8 1380 558 -59.57%
BenchmarkStructSimpleCustomTypeSuccess-8 889 623 -29.92%
BenchmarkStructSimpleCustomTypeFailure-8 1536 1381 -10.09%
BenchmarkStructPartialSuccess-8 1194 1036 -13.23%
BenchmarkStructPartialFailure-8 1869 1734 -7.22%
BenchmarkStructExceptSuccess-8 949 888 -6.43%
BenchmarkStructExceptFailure-8 1181 1036 -12.28%
BenchmarkStructSimpleCrossFieldSuccess-8 948 773 -18.46%
BenchmarkStructSimpleCrossFieldFailure-8 1708 1487 -12.94%
BenchmarkStructSimpleCrossStructCrossFieldSuccess-8 1608 1261 -21.58%
BenchmarkStructSimpleCrossStructCrossFieldFailure-8 2320 2055 -11.42%
BenchmarkStructSimpleSuccess-8 833 519 -37.70%
BenchmarkStructSimpleFailure-8 1612 1429 -11.35%
BenchmarkStructSimpleSuccessParallel-8 239 146 -38.91%
BenchmarkStructSimpleFailureParallel-8 664 551 -17.02%
BenchmarkStructComplexSuccess-8 5025 3269 -34.95%
BenchmarkStructComplexFailure-8 10166 8436 -17.02%
BenchmarkStructComplexSuccessParallel-8 1591 1024 -35.64%
BenchmarkStructComplexFailureParallel-8 4306 3536 -17.88%
benchmark old allocs new allocs delta
BenchmarkFieldSuccess-8 0 0 +0.00%
BenchmarkFieldFailure-8 4 4 +0.00%
BenchmarkFieldDiveSuccess-8 27 28 +3.70%
BenchmarkFieldDiveFailure-8 31 32 +3.23%
BenchmarkFieldCustomTypeSuccess-8 2 2 +0.00%
BenchmarkFieldCustomTypeFailure-8 4 4 +0.00%
BenchmarkFieldOrTagSuccess-8 1 1 +0.00%
BenchmarkFieldOrTagFailure-8 6 6 +0.00%
BenchmarkStructLevelValidationSuccess-8 6 5 -16.67%
BenchmarkStructLevelValidationFailure-8 11 5 -54.55%
BenchmarkStructSimpleCustomTypeSuccess-8 5 3 -40.00%
BenchmarkStructSimpleCustomTypeFailure-8 11 9 -18.18%
BenchmarkStructPartialSuccess-8 10 9 -10.00%
BenchmarkStructPartialFailure-8 15 14 -6.67%
BenchmarkStructExceptSuccess-8 7 7 +0.00%
BenchmarkStructExceptFailure-8 10 9 -10.00%
BenchmarkStructSimpleCrossFieldSuccess-8 6 4 -33.33%
BenchmarkStructSimpleCrossFieldFailure-8 11 9 -18.18%
BenchmarkStructSimpleCrossStructCrossFieldSuccess-8 10 7 -30.00%
BenchmarkStructSimpleCrossStructCrossFieldFailure-8 15 12 -20.00%
BenchmarkStructSimpleSuccess-8 3 1 -66.67%
BenchmarkStructSimpleFailure-8 11 9 -18.18%
BenchmarkStructSimpleSuccessParallel-8 3 1 -66.67%
BenchmarkStructSimpleFailureParallel-8 11 9 -18.18%
BenchmarkStructComplexSuccess-8 32 15 -53.12%
BenchmarkStructComplexFailure-8 77 60 -22.08%
BenchmarkStructComplexSuccessParallel-8 32 15 -53.12%
BenchmarkStructComplexFailureParallel-8 77 60 -22.08%
benchmark old bytes new bytes delta
BenchmarkFieldSuccess-8 0 0 +0.00%
BenchmarkFieldFailure-8 432 432 +0.00%
BenchmarkFieldDiveSuccess-8 384 464 +20.83%
BenchmarkFieldDiveFailure-8 816 896 +9.80%
BenchmarkFieldCustomTypeSuccess-8 32 32 +0.00%
BenchmarkFieldCustomTypeFailure-8 432 432 +0.00%
BenchmarkFieldOrTagSuccess-8 4 4 +0.00%
BenchmarkFieldOrTagFailure-8 448 448 +0.00%
BenchmarkStructLevelValidationSuccess-8 168 160 -4.76%
BenchmarkStructLevelValidationFailure-8 632 160 -74.68%
BenchmarkStructSimpleCustomTypeSuccess-8 56 36 -35.71%
BenchmarkStructSimpleCustomTypeFailure-8 656 640 -2.44%
BenchmarkStructPartialSuccess-8 352 272 -22.73%
BenchmarkStructPartialFailure-8 808 730 -9.65%
BenchmarkStructExceptSuccess-8 314 250 -20.38%
BenchmarkStructExceptFailure-8 352 272 -22.73%
BenchmarkStructSimpleCrossFieldSuccess-8 96 80 -16.67%
BenchmarkStructSimpleCrossFieldFailure-8 552 536 -2.90%
BenchmarkStructSimpleCrossStructCrossFieldSuccess-8 136 112 -17.65%
BenchmarkStructSimpleCrossStructCrossFieldFailure-8 600 576 -4.00%
BenchmarkStructSimpleSuccess-8 24 4 -83.33%
BenchmarkStructSimpleFailure-8 656 640 -2.44%
BenchmarkStructSimpleSuccessParallel-8 24 4 -83.33%
BenchmarkStructSimpleFailureParallel-8 656 640 -2.44%
BenchmarkStructComplexSuccess-8 392 244 -37.76%
BenchmarkStructComplexFailure-8 3745 3609 -3.63%
BenchmarkStructComplexSuccessParallel-8 392 244 -37.76%
BenchmarkStructComplexFailureParallel-8 3745 3609 -3.63%
```
8 years ago