Commit 20291056 authored by Jon Dufresne's avatar Jon Dufresne Committed by Tim Graham
Browse files

[1.8.x] Followed recommended ValidationError use in docs.

Backport of 0db7e610 from master
parent 5bce6659
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -470,6 +470,7 @@ instances::

    from django.core.exceptions import ValidationError
    from django.db import models
    from django.utils.translation import ugettext_lazy as _

    def parse_hand(hand_string):
        """Takes a string of cards and splits into a full hand."""
@@ -477,7 +478,7 @@ instances::
        p2 = re.compile('..')
        args = [p2.findall(x) for x in p1.findall(hand_string)]
        if len(args) != 4:
            raise ValidationError("Invalid input for a Hand instance")
            raise ValidationError(_("Invalid input for a Hand instance"))
        return Hand(*args)

    class HandField(models.Field):
+5 −1
Original line number Diff line number Diff line
@@ -16,10 +16,14 @@ different types of fields.
For example, here's a validator that only allows even numbers::

    from django.core.exceptions import ValidationError
    from django.utils.translation import ugettext_lazy as _

    def validate_even(value):
        if value % 2 != 0:
            raise ValidationError('%s is not an even number' % value)
            raise ValidationError(
                _('%(value)s is not an even number'),
                params={'value': value},
            )

You can add this to a model field via the field's :attr:`~django.db.models.Field.validators`
argument::