Sto cercando di farlo in modo che il validatore indichi "il nome utente deve essere alfanumerico". Questo è il mio codice finora. Ho confermato che convalida al momento giusto. L'unico problema è che, indipendentemente da ciò che provo, RegexValidator esegue ancora l'errore predefinito ("inserisci un valore valido").Il messaggio di validazione regex di Django non ha effetto
Questo è il mio codice. Ho anche provato senza il 'messaggio =' davanti, e lo è ancora detto "immettere un valore valido", invece di "nome utente deve essere alfanumerico"
user = CharField(
max_length=30,required=True,
validators=[
RegexValidator('^[a-zA-Z0-9]*$',
message='Username must be Alphanumeric'
),
]
)
Ha funzionato, ma perché il codice ha fatto la differenza? – matts1
Sembra funzionare quando il codice è un valore diverso da Nessuno. Funziona con una stringa vuota e il numero intero 5 ... – matts1
Da un core dev di Django: "Ho provato a vedere se il codice poteva essere modificato in modo da scegliere il messaggio più specifico, ma non è possibile determinare quale sia il più specifico: a volte il messaggio di errore del validatore è più specifico, a volte quello del campo 1. Ecco perché penso che dovresti usare il trucco del codice sopra. " https://code.djangoproject.com/ticket/17051 Penso che sia anche un po 'ragionevole. –