在相应的字段中显示表单错误



是否可以在各自的字段错误表单中显示表单错误?如果不是,如何自定义字段名引发字段错误?

。我有一个注册/登录系统,我使用email字段为ìdentifier。这是因为我使用自定义注册/登录系统,BaseUserManagerAbstractBaseUser,如:

models.py

class User(AbstractBaseUser):
username = models.CharField(
verbose_name = u'Nome',
max_length=33
)
#identifier
email = models.EmailField(
verbose_name = u'Email',
max_length=255,
unique=True,
)
#....
USERNAME_FIELD = 'email'

forms.py

class LoginForm(AuthenticationForm):   
username = forms.EmailField(
label="Email",
required=True,
widget=forms.TextInput(
attrs={'placeholder': 'Email'}
))
password = forms.CharField(
label=False,
max_length=50,
required=True,
widget=forms.PasswordInput(
attrs={'placeholder': 'Senha'}
))
class Meta:
model = User
fields = ['email', 'password']

问题是,当username字段形式有错误时,消息显示:username...error,但我需要显示Email...error,最好在各自的字段内。即使使用verbose_name = u'Email' in model.field, the error message display用户名…错误…

所以:1-我如何在各自的形式中显示错误。字段作为placeholder or value和2 -如何自定义修改错误时的form.field.name.error ?

在您的表单类中添加一个validate fn来验证:

class LoginForm(AuthenticationForm):
...
def validate(self, value):
"""Check if value consists only of valid emails."""
# Use the parent's handling of required fields, etc.
super().validate(value)
for username in value:
validate_username(username)
validate_password(password)

最新更新