Как добавить пользовательский валидатор в форму Google Appengine / Django? - PullRequest
2 голосов
/ 21 сентября 2010

Я разрабатываю приложение для использования в Google App Engine с Django и Google App Engine Django Helper .

Определенная модель выглядит так:

from appengine_django.models import BaseModel
from google.appengine.ext import db
from google.appengine.ext.db.djangoforms import ModelForm

class Server(BaseModel):
    name = db.StringProperty(required=True)
    ip = db.StringProperty()
    status_ok = db.BooleanProperty(default=False)

    def __unicode__(self):
        return self.name

class ServerForm(ModelForm):
    class Meta:
        model = Server

Как добавить в этот код пользовательский валидатор (например, минимальную и максимальную длину строки), чтобы метод form.is_valid () действовал соответственно?

1 Ответ

1 голос
/ 22 февраля 2011

ModelForm это Form, тогда вы можете сделать

class ServerForm(ModelForm):
    class Meta:
        model = Server

    def clean_name(self):
        """ Define a method to check the name field """

    def clean(self):
        """ Define a clean method for all the form """

без проблем

...