django-registrationと一緒に私のDjango 1.11サイトにa custom user modelがあります。Django 1.11でユーザ名の検証を無効にするにはどうしたらいいですか?
登録フォームに、ユーザー名とパスフレーズを入力するよう求められます。私はMinimumLengthValidatorとカスタムWordCountValidatorバリデーションをsettings.pyのパスフレーズフィールドに追加しました(下記参照)。これらのバリデーションルールは自動的に登録フォームに表示されます。
ここでは、長さは文字で始める必要があり、英数字のみを含めることができます。私はこれらを1つのルールに組み合わせても構いません。
username_validatorをクラスに追加して設定しようとしましたが、何も起こりません。おそらく、私はAbstractUserからユーザ(related 1.10 bug?)を継承しているためです。
私のユーザ名フィールドに自分自身の妥当性検査ルール(マルチセクションが望ましい)を使用するにはどうすればよいですか?
形態の簡易外観:
Username: [ ]
Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.
Passphrase: [ ]
Your passphrase must contain at least 15 characters.
Passphrase must contain at least three words. Use spaces between words.
Passphrase confirmation: [ ]
Enter the same passphrase as before, for verification.
settings.py
AUTH_PASSWORD_VALIDATORS = [
{
'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
'OPTIONS': {
'min_length': 15,
}
},
{
'NAME': 'custom.validators.WordCountValidator',
'OPTIONS': {
'min_words': 3,
}
},
]
models.py
class User(AbstractUser):
objects = UserManager()
def __init__(self, *args, **kwargs):
user = super(User, self).__init__(*args, **kwargs)
return user
...
validators.py
class WordCountValidator(object):
...
class StartLetterValidator(object):
...
class AlphanumericValidator(object):
...
class CombinedValidator(object):
...
このコンテキストでは、どのように検証エラーが累積されますか? – d3vid
私はあなたの質問に答えるために私の答えを更新しました。 –