summary refs log tree commit diff
path: root/gnu/packages/golang.scm
diff options
context:
space:
mode:
authorJoseph LaFreniere <joseph@lafreniere.xyz>2020-07-26 23:42:48 -0500
committerEfraim Flashner <efraim@flashner.co.il>2021-01-03 17:24:27 +0200
commit19be547c47c846778698bcf1375687dda1e41fb5 (patch)
treee96cba4ce2b9f0bfc8f153a671c7f7a5a4a09dcc /gnu/packages/golang.scm
parent0023c76d68a4ec0145a323b7e90a955d6dc10ce0 (diff)
downloadguix-19be547c47c846778698bcf1375687dda1e41fb5.tar.gz
gnu: Add go-gopkg-in-go-playground-validator-v9.
* gnu/packages/golang.scm (go-gopkg-in-go-playground-validator-v9): New variable.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
Diffstat (limited to 'gnu/packages/golang.scm')
-rw-r--r--gnu/packages/golang.scm49
1 files changed, 49 insertions, 0 deletions
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 5ee70c588b..93e431ff0f 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -632,6 +632,55 @@ professionally translated
 @end itemize")
     (license license:expat)))
 
+(define-public go-gopkg-in-go-playground-validator-v9
+  (package
+    (name "go-gopkg-in-go-playground-validator-v9")
+    (version "9.31.0")
+    (home-page "https://gopkg.in/go-playground/validator.v9")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/go-playground/validator")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1f8c77s8kx9rip2jarv27x5s4xkcmanh4ndyhbcwvrhncs5rq061"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "gopkg.in/go-playground/validator.v9"))
+    (native-inputs
+     `(("go-gopkg-in-go-playground-assert-v1"
+        ,go-gopkg-in-go-playground-assert-v1)))
+    (propagated-inputs
+     `(("go-github-com-go-playground-universal-translator"
+        ,go-github-com-go-playground-universal-translator)
+       ("go-github-com-leodido-go-urn" ,go-github-com-leodido-go-urn)))
+    (synopsis "Validator for structs and individual fields based on tags")
+    (description
+     "This package implements value validations for structs and individual
+fields based on tags.  It has the following unique features:
+
+@itemize
+@item Cross Field and Cross Struct validations by using validation tags or
+custom validators
+@item Slice, Array and Map diving, which allows any or all levels of a
+multidimensional field to be validated
+@item Ability to dive into both map keys and values for validation
+@item Handles type interface by determining it's underlying type prior to validation
+@item Handles custom field types such as sql driver
+@uref{https://golang.org/src/database/sql/driver/types.go?s=1210:1293#L29,
+Valuer}
+@item Alias validation tags, which allows for mapping of several validations
+to a single tag for easier defining of validations on structs
+@item Extraction of custom defined Field Name e.g. can specify to extract the
+JSON name while validating and have it available in the resulting FieldError
+@item Customizable i18n aware error messages.
+@item Default validator for the @uref{https://github.com/gin-gonic/gin, gin}
+web framework
+@end itemize")
+    (license license:expat)))
+
 (define-public go-github-com-aws-sdk
   (package
     (name "go-github-com-aws-sdk")