2013-02-11 2 views
0

모델 필드 제목의 유효성을 검사하는 방법은 무엇입니까? 예를 들어 제목 필드를 사용할 때마다 'Blog'라는 단어로 시작하면 어떻게됩니까?모델 양식의 양식 필드에 유효성 검사기를 만드는 방법

models.py 

class TitleAbstract(models.Model): 
    title = models.CharField(max_length=255) 
    class Meta: 
     abstract = True 

class Blog(TitleAbstract): 
    .............. 

forms.py 

class BlogForm(forms.ModelForm): 
    class Meta: 
     model = Blog 

views.py 

class BlogCreateView(CreateView): 
    model = Blog 
    action = 'created' 
+2

https://docs.djangoproject.com/en/dev/ref/forms/validation/을 읽었습니까? – Rohan

답변

0

validators.py

from django.core.exceptions import ValidationError 

def validate_title(value): 
    if not value.lower().startswith(u'blog'): 
     msg = u"Enter a value starting with 'Blog'" 
     raise ValidationError(msg) 

class BlogForm(forms.ModelForm): 
    def __init__(self, *args, **kwargs): 
    super(BlogForm, self).__init__(*args, **kwargs) 
    self.fields['title'].validators = [validate_title] 

    class Meta: 
     model = Blog 

views.py

class BlogCreateView(CreateView): 
    model = Blog 
    action = 'created' 
    form_class = BlogForm 
forms.py
관련 문제