Skip to content

Instantly share code, notes, and snippets.

@olivergeorge
Created December 20, 2009 00:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save olivergeorge/260287 to your computer and use it in GitHub Desktop.
Save olivergeorge/260287 to your computer and use it in GitHub Desktop.
Django form validation logic helpers
from models import *
from django import forms
from django.forms.util import ErrorList
class PatientAdminForm(forms.ModelForm):
class Meta:
model = Patient
def require_fields(self, *fields):
"Mark field/s as required if empty. Return True if all are valid."
is_valid=True
for field in fields:
if not self.cleaned_data[field]:
self._errors[field] = ErrorList(['Required field'])
is_valid=False
return is_valid
def clean(self):
if not self.cleaned_data['nursing_home']:
if not self.require_fields('street','suburb','postcode'):
raise forms.ValidationError('Please complete residential address details for day patients')
else:
if not self.require_fields('date_of_admission','wing','room'):
raise forms.ValidationError('Please complete nursing-home details admitted patients')
return self.cleaned_data
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment