2013-06-18 8 views

risposta

40

Si utilizzerà un validator per limitare ciò che il campo accetta. Un RegexValidator farebbe il trucco qui:

alphanumeric = RegexValidator(r'^[0-9a-zA-Z]*$', 'Only alphanumeric characters are allowed.') 

name = models.CharField(max_length=50, blank=True, null=True, validators=[alphanumeric]) 
email = models.EmailField(max_length=50, unique=True, validators=[alphanumeric]) 

noti che già esiste un validate_email validator che ti convalida gli indirizzi e-mail per voi; il validatore alphanumeric non consentirà indirizzi email validi.

+0

L'utente potrebbe lottare per aggiungere un indirizzo email valido con il 'alphanumeric' validatore;) – Alasdair

+0

@Alasdair. voglio solo avere l'idea. userò questo '[A-Za-z0-9 @ # $%^& + =] {6,}'. è che ok – user1958218

+0

ho provato e dice il nome alphnumeric non è definito. ho dichiarato in esterno Model – user1958218

0

Invece di RegexValidator, dare la convalida in forme attributi solo come ...

 class StaffDetailsForm(forms.ModelForm): 
      first_name = forms.CharField(required=True,widget=forms.TextInput(attrs={'class':'form-control' , 'autocomplete': 'off','pattern':'[A-Za-z ]+', 'title':'Enter Characters Only '})) 

e così via ...

Altrimenti si dovrà gestire l'errore in vista. Ha funzionato per me provare questo metodo semplice ... Questo permetterà agli utenti di inserire solo Alfabeti e gli ambienti, solo

+1

Remembar è solo la convalida del frontend !! Dovresti inoltre aggiungere la convalida RegexValidator per convalidare il valore di quel campo nel backend! –

Problemi correlati