示例#1
0
def test_SimpleFormValidator_doc():
    """
    Verify SimpleFormValidator preserves the decorated function's docstring.
    """

    BOGUS_DOCSTRING = "blah blah blah"

    def f(value_dict, state, validator):
        value_dict['f'] = 99

    f.__doc__ = BOGUS_DOCSTRING
    g = SimpleFormValidator(f)

    assert f.__doc__ == g.__doc__, "Docstrings don't match!"
示例#2
0
import re
import pylons
from pylons.i18n import ugettext as _
from formencode import Invalid
from formencode.schema import SimpleFormValidator
from tw.forms.validators import Email

from proyectosaptg.model import DBSession, Usuario
from proyectosaptg import model

__all__ = ['UniqueUserName']


def validate_unique_user_name(value_dict, state, validator):
    user_prueba = DBSession.query(Usuario).filter_by(
        username=value_dict['username'])
    #if user_prueba is not None:
    return {'user_name': 'The user name already exists.'}


UniqueUserName = SimpleFormValidator(validate_unique_user_name)
示例#3
0
log = logging.getLogger(__name__)


class ShareSchema(Schema):
    "Validate individual user shares."
    allow_extra_fields = False
    user_id = validators.Int(not_empty=True)
    amount = validators.Number(if_empty=0)


def validate_state(value_dict, state, validator):
    if all(s['amount'] == 0 for s in value_dict['shares']):
        return {'shares-0.amount': 'Need at least one non-zero share'}


ValidateNotAllZero = SimpleFormValidator(validate_state)


class ExpenditureSchema(AuthFormSchema):
    "Validate an expenditure."
    allow_extra_fields = False
    pre_validators = [NestedVariables()]
    spender_id = validators.Int(not_empty=True)
    amount = model.types.CurrencyValidator(not_empty=True)
    description = validators.UnicodeString(not_empty=True)
    date = validators.DateConverter()
    shares = ForEach(ShareSchema)
    chained_validators = [ValidateNotAllZero]


class SpendController(BaseController):