Skip to content

Commit

Permalink
Started today, implemented some validations
Browse files Browse the repository at this point in the history
  • Loading branch information
gomezjdaniel committed Jan 29, 2013
1 parent 4dc64fa commit cf111dd
Showing 1 changed file with 63 additions and 0 deletions.
63 changes: 63 additions & 0 deletions ngforms.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
import re

class Form(object)

def build(self):

def validate(self):

def fields(self):
raise NotImplemented()

def validations(self):
raise NotImplemented()


# ----------------------------------------

class Validation(object)
def __init__(self, name, message, attr):
self.name = name
self.message = message
self.attr = attr

def validate(self):
raise NotImplemented()

class MinLength(Validation)
def __init__(self, min, message):
self.min = min
super(MinLength, self).__init__("MinLength", message,
{"ng-minlength" : min})

def validate(self, value):
return len(value) >= min

class MaxLength(Validation)
def __init__(self, max, message):
self.max = max
super(MaxLength, self).__init__("MaxLength", message,
{"ng-maxlength" : max})

def validate(self, value):
return len(value) =< max

class Required(Validation)
def __init__(self, field, message):
self.field = field
super(Required, self).__init__("Required", message, {"required"})

def validate(self, field):
return len(field)>0

class Email(Validation)
def __init__(self, email, message):
self.email = email
super(Email, self).__init__("Email", message, {})

def validate(self, email):
if not re.match("^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$", email):
return False
else:
return True

0 comments on commit cf111dd

Please sign in to comment.