开发者

In Django, how do i change "This field is required." to "Name is required"?

开发者 https://www.devze.com 2023-01-30 19:38 出处:网络
I\'m using the forms framework. And when I set required=True, this error shows. What if I don\'t want it to say \"This field\", but instead, say the label?

I'm using the forms framework. And when I set required=True, this error shows. What if I don't want it to say "This field", but instead, say the label?

Since i'm not going to be displ开发者_开发百科aying it beneath the form input. I"m going to display all the errors at the top of the page.


An easy way to specify simple "required" validation messages is to pass the field the error_messages argument.

name = forms.CharField(error_messages={'required': 'Your Name is Required'}) 

Check the docs for which keys can be specified per field: http://docs.djangoproject.com/en/dev/ref/forms/fields/#django.forms.Field.error_messages

For anything else, you're going to need real form validation which means you'd be writing error messages anyways!


If you want to customize the message a little bit more you can also:

from django.core.exceptions import ValidationError

def my_validator(value):
    if not len(value):
        raise ValidationError('Your error message here!')

Then, in your models.py:

from django import forms

class MyForm(forms.Form):
    my_field= forms.CharField(validators=[my_validator])
0

精彩评论

暂无评论...
验证码 换一张
取 消