2017-09-05 9 views
0

私はTextFieldを持っていますmin_lengthを追加したいと思います。Wagtailフィールドのカスタムバリデーター

Djangoのドキュメントによれば、これを実行するために使用できるバリデーターが組み込まれています(https://docs.djangoproject.com/en/1.11/ref/validators/#minlengthvalidator)。

私はこのコードで私のモデルにこれを追加しようとしました:

class MyPage(Page): 
    ... 
    introduction = models.TextField(
     null=True, 
     blank=False, 
     validators=[MinLengthValidator(240, message="Must be at least 240 chars.")] 

240よりも低い値で、このページを公開すると、しかし、私は期待検証エラーを取得していないが、代わりにTypeErrorを打ちます:unorderable types: str() < int()

TextFieldmin_lengthがある方法はありますか?

+0

バリ '=約MinLengthValidator(240)は、' 'message'_を_withoutか? –

+0

同じエラーが発生しました。 – inostia

+0

パラメータ: 'min_length = 240' –

答えて

0

デフォルトMinLengthValidatorはあなたのために動作していない場合、私は以下のように木枠にカスタムバリデータをあなたにお勧め:

from django.core.validators import ValidationError 

def max_length_validator(value): 
    if len(value) < 240: 
     raise ValidationError("Must be at least 240 chars.") 


class MyPage(Page): 
    introduction = models.TextField(
     blank=False, validators=[max_length_validator]) 
+0

私は間違ったバリデータ 'MinValueValidator'を使用していました。 'MinLengthValidator'は正常に動作しました。ご協力いただきありがとうございます – inostia

関連する問題