From e6630f483876b2dfac36d0f7d390b6dd97986042 Mon Sep 17 00:00:00 2001
From: angdmz <agustindorda@gmail.com>
Date: Fri, 19 Jul 2019 19:21:40 -0300
Subject: [PATCH] Address field y validator

---
 gateway/fields.py     | 8 ++++++++
 gateway/validators.py | 9 +++++++++
 2 files changed, 17 insertions(+)
 create mode 100644 gateway/validators.py

diff --git a/gateway/fields.py b/gateway/fields.py
index e69de29..4a207e4 100644
--- a/gateway/fields.py
+++ b/gateway/fields.py
@@ -0,0 +1,8 @@
+from django.db.models.fields import CharField
+from gateway.validators import validate_address
+
+
+class AddressField(CharField):
+    def __init__(self, *args, **kwargs):
+        self.default_validators.append(validate_address)
+        super().__init__(*args, **kwargs)
diff --git a/gateway/validators.py b/gateway/validators.py
new file mode 100644
index 0000000..1e662bb
--- /dev/null
+++ b/gateway/validators.py
@@ -0,0 +1,9 @@
+from django.core.exceptions import ValidationError
+from django.utils.translation import gettext_lazy as _
+from gateway.gateway import AddressValidation
+
+
+def validate_address(value):
+    validator = AddressValidation()
+    if not validator.is_valid(value):
+        raise ValidationError(_('%(value)s is not a valid address'), params={'value': value})
-- 
GitLab