"password"및 "confirm password"필드가있는 사용자 등록 양식이 있습니다. "min_length"를 암호 필드에 추가 한 다음 사용자 정의 clean_confirm_password 메소드를 통해 제출 된 데이터를 실행하면 "키 오류/암호"오류가 발생합니다.Django - min_length가 설정된 경우 암호 정리가 실패합니다.
이는 confirm_password 필드가 일치하는지 여부에 관계없이 암호 필드가 5 자 미만일 때 발생합니다.
"confirm_password"에 "min_length"를 추가하려고 시도했지만 여전히 동일한 오류가 발생합니다.
"min_length"를 완전히 제거하면 모든 것이 잘 작동합니다.
도움을 주시면 감사하겠습니다.
내 forms.py 파일 : 당신이 self.cleaned_data
에 액세스 할 때
class NewUser(forms.Form):
email = forms.EmailField(max_length=75)
first_name = forms.CharField(max_length=45)
last_name = forms.CharField(max_length=45)
password = forms.CharField(min_length=5, max_length=30, widget=forms.PasswordInput(render_value=False))
confirm_password = forms.CharField(max_length=30, widget=forms.PasswordInput(render_value=False))
def clean_confirm_password(self):
confirm_password = self.cleaned_data['confirm_password']
original_password = self.cleaned_data['password']
if original_password != confirm_password:
raise forms.ValidationError("Password doesn't match")
return confirm_password
이것은 챔피언처럼 일했습니다! 또한'clean' 메소드를 지적 해 주셔서 감사합니다. 그에 따라 변경했습니다. –