# -*- coding: utf-8 -*-

from formalchemy import Field, types
from formalchemy.validators import email, length, ValidationError

class UserData(object):

    def check_name(value,field):
        if field.value in ['admin','superuser']:
            raise ValidationError(u'Verbotener Benutzername')
    
    name = Field(type=types.String).label(u'Name').required()\
        .validate(check_name)
    birthday = Field(type=types.Date).label(u'Geburtstag')
    gender = Field(type=types.String).label(u'Geschlecht').dropdown(
        options=[
            (u'männlich', u'männlich'), (u'weiblich',u'weiblich')])
    
class LoginForm(object):

    def pass2_validator(value, field):
        if field.parent.pass1.value != value:
            raise ValidationError(u'Keine Übereinstimmung.')

    myemail = Field(type=types.String).required().validate(email)
    pass1 = Field(type=types.String).password().required()
    pass2 = Field(type=types.String).password().required()\
        .validate(pass2_validator)

