Django fail to raise an error when a minimum length password is required -
i have form allows user create user account. enforce minimum password length of 8 , when breached , error raise . problem , doesn't raise error whenever minimum password length of 8 breached .
can kindly me.
def registration(request): form = userregistration() if request.method =='post': form = userregistration(request.post) if form.is_valid(): user = user.objects.create_user( username=form.cleaned_data['username'], email=form.cleaned_data['email'], password=form.cleaned_data['password'] ) user.is_active = true user.save() return render(request,'choose.html',{'form':form}) return render(request, 'register.html', {'form': form},) my forms.py
class userregistration(forms.form): username = forms.charfield() email = forms.emailfield(error_messages={'required':'error missing field , please fill field'}) password = forms.charfield( widget=forms.passwordinput(render_value=false) ) min_length = 8 def clean_password(self): password = self.cleaned_data['password'] if len(password) > self.min_length: raise forms.validationerror("the new password must @ least %d characters long." % self.min_length) return password my template
<form method ="post"> {% csrf_token %} <span id="error">{{form.username.errors}}</span> <span id="error2">{{form.email.errors}}</span> <span id="error3">{{form.password.errors}}</span> {{form.username}} {{form.email}} {{form.password}} <input type = "submit" value= "save" id="box2"/> </form>
your if condition not correct:
instead of
if len(password) > self.min_length: use
if len(password) <= self.min_length: #<---- changed condition
Comments
Post a Comment