django 1.8 custom validation of form not working

satch_boogie

Im learning django 1.8(python 2.7.8) and i was trying to validate the email,firstname and lastname field.The problem is what ever i insert into form it gets saved to database(only default email validation is working). Below are what my form,view,model and admin files look like.Any suggestions ? Thank you

models.py

from django.db import models

# Create your models here.

class SignUp(models.Model):
email = models.EmailField()
first_name = models.CharField(max_length=25,blank=True,null=True)
last_name = models.CharField(max_length=25,blank=True,null=True)
timestamp = models.DateTimeField(auto_now_add=True,auto_now=False)
updated = models.DateTimeField(auto_now_add=False,auto_now=True)

def __unicode__(self):
    return self.email

admin.py

from django.contrib import admin
# Register your models here.

from .models import SignUp
class SignUpAdmin(admin.ModelAdmin):
    list_display = ["__unicode__","first_name","last_name","timestamp","updated"]
    class Meta:
        model = SignUp

admin.site.register(SignUp, SignUpAdmin)

views.py

from django.shortcuts import render
from forms import SignUpForm

# Create your views here.
def home(request):
    title = "Welcome"
    form = SignUpForm(request.POST or None)
    context = { "title": title,"form":form, }
    if form.is_valid():
        instance = form.save(commit=False)
        instance.save()
    return render(request, "home.html", context)

forms.py

from django import forms
from .models import SignUp
import re

class SignUpForm(forms.ModelForm):
    class Meta:
        model = SignUp
        fields = ['first_name','last_name','email']
    def clean_email(self):
        email = self.cleaned_data.get('email')
        email_base, provider = email.split('@')
        domain,extension = provider.split('.')
        if provider.count('.')  > 2: #email provider should not have more than 2 "dots=> ."
            raise forms.ValidationError("Please use valid email address")
        return email
    def clean_first_name(self):
        first_name = self.cleaned_data.get('first_name')
        if bool(re.search('[\d\s]',first_name)): #firstname should not have whitespace or digits
            raise forms.ValidationError("Please dont use numbers or space in Name Field")
        return first_name
    def clean_last_name(self):
        last_name = self.cleaned_data.get('last_name')
        if bool(re.search('[\d]',last_name)): #lastname should not have digits
            raise forms.ValidationError("Please dont use numbers or space in Name Field")
        return last_name

urls.py

from django.conf.urls import include, url
from django.contrib import admin

urlpatterns = [
    url(r'^admin/', include(admin.site.urls)),
    url(r'^$','newsletter.views.home', name='home'),
        ]

home.html

<html>
<title>Home Page</title>
<body>
{{ title }} {{ request.user }} <br>
    <form method="post" action="">
     {% csrf_token %}

    {{ form.as_p }}
    <input type="submit" value="submit">
</form>
</body>
</html>
satch_boogie

i did some silly mistakes (indentation). The question is corrected and code is correct on post

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

Jquery: Form validation not working

From Dev

Custom Form Validation in Django-Allauth

From Dev

Validation Form is not working

From Dev

jQuery validation not working with that form

From Dev

Angular form validation is not working

From Dev

form validation not working as intended

From Dev

Django login form not working for custom user model

From Dev

Form validation with JS not working

From Dev

Use ngModel on a custom directive with an embedded form, with working validation?

From Dev

Jquery form validation not working?

From Dev

how to reuse custom form validation rules in other forms in django

From Dev

Validation not working on form

From Dev

jQuery validation on form not working

From Dev

CakePHP Form Validation Not Working

From Dev

jQuery validation not working with that form

From Dev

django custom form validation error

From Dev

form validation not working in angular

From Dev

Use ngModel on a custom directive with an embedded form, with working validation?

From Dev

Django allauth - using custom form Validation errors do not show on the template

From Dev

Jquery form validation not working?

From Dev

Form validation not working in jQuery

From Dev

Custom formset validation not working in django

From Dev

Javascript form validation not working

From Dev

html form validation not working

From Dev

Spring Boot - Custom validation annotation on form not working

From Dev

JavaScript Validation Form not working

From Dev

The Form validation is not working

From Dev

Django custom form validation in ListView

From Dev

Angular 5 form custom validation is not working properly