Получение FieldError на пароле подтверждения_ при попытке создать пользовательскую форму - PullRequest
0 голосов
/ 11 марта 2020

Я пытаюсь создать пользовательскую форму создания пользователя для имени пользователя, пароля и подтверждения пароля, но я получаю FieldError для confirm_password. Ошибка исчезает, когда я удаляю ее из полей.

class RegForm(forms.ModelForm):
    class Meta:
        model = User
        fields = ('username', 'password', 'confirm_password')
        widgets = {
            'username': forms.TextInput(
                attrs={'class': 'form-control mb-4', 'required': True, 'placeholder': 'Username'}),
            'password': forms.PasswordInput(
                attrs={'class': 'form-control mb-4', 'required': True, 'placeholder': 'Password'}),
            'confirm_password': forms.PasswordInput(
                attrs={'class': 'form-control mb-4', 'required': True, 'placeholder': 'Confirm Password'}),
        }

    def clean(self):
        cleaned_data = super(RegForm, self).clean()
        password = cleaned_data.get("password")
        confirm_password = cleaned_data.get("confirm_password")

        if password != confirm_password:
            raise forms.ValidationError(
                "Passwords needs to match"
            )

1 Ответ

1 голос
/ 11 марта 2020

Используйте Clean Like This:

class UserForm(forms.ModelForm):
password=forms.CharField(widget=forms.PasswordInput())
confirm_password=forms.CharField(widget=forms.PasswordInput())
class Meta:
    model=User
    fields=('username','email','password')

def clean(self):
    cleaned_data = super(UserForm, self).clean()
    password = cleaned_data.get("password")
    confirm_password = cleaned_data.get("confirm_password")

    if password != confirm_password:
        raise forms.ValidationError(
            "password and confirm_password does not match"
        )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...