Beispiel #1
0
    def clean(self):
        cleaned_data = super().clean()

        if not is_valid_url(cleaned_data.get("url")):
            raise ValidationError("Snake requires a valid URL")

        return cleaned_data
Beispiel #2
0
    def clean(self):
        cleaned_data = super().clean()

        if cleaned_data.get('snake_url') and not is_valid_url(
                cleaned_data.get('snake_url')):
            raise ValidationError('Snake requires a valid URL')

        return cleaned_data
Beispiel #3
0
    def clean(self):
        cleaned_data = super().clean()

        if not self.snakes:
            raise ValidationError('Must add at least 1 snake to start a game')

        for snake in self.snakes:
            if not snake.get('name'):
                raise ValidationError('Snake requires a name')

            if not snake.get('url'):
                raise ValidationError('Snake requires a URL')

            if not is_valid_url(snake['url']):
                raise ValidationError('Snake requires a valid URL')

        return {
            'width': self.cleaned_data['width'],
            'height': self.cleaned_data['height'],
            'food': self.cleaned_data['food'],
            'snakes': self.snakes,
            'team': self.team,
        }
Beispiel #4
0
    def clean(self):
        cleaned_data = super().clean()

        if not self.snakes:
            raise ValidationError("Must add at least 1 snake to start a game")

        for snake in self.snakes:
            if not snake.get("name"):
                raise ValidationError("Snake requires a name")

            if not snake.get("url"):
                raise ValidationError("Snake requires a URL")

            if not is_valid_url(snake["url"]):
                raise ValidationError("Snake requires a valid URL")

        return {
            "width": self.cleaned_data["width"],
            "height": self.cleaned_data["height"],
            "food": self.cleaned_data["food"],
            "snakes": self.snakes,
            "team": self.team,
        }