🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.python
7 messages
7 total messages Started by manner Thu, 13 May 2010 17:14
[django] dziwny regexp
#27464
Author: manner
Date: Thu, 13 May 2010 17:14
21 lines
1931 bytes
witam,

mam zgryza z regexpem w django - chodzi o zwalidowanie dwóch pól
formularza (imię i nazwisko) w ten sposób aby dopuszczalne były
jedynie słowa pisane wielką literą. problem mam z polskimi znakami,
kiedy dam coś  takiego:

class JakasKlasaForm(forms.ModelForm):
    nazwisko_klienta = forms.RegexField(regex='[A-Z
\u0104\u0106\u0118\u0141\u0143\u00d3\u015a\u0179\u017b]
{1}',error_message='error')
    class
Meta:
        # Nazwa
modelu
        model = JakasKlasa

działa OK dla nazwisk Żak, Żakowski, ale już Żok, Żokowski jest
błędne... kompletnie już nie wiem o co w tym biega. ktoś pomoże?

pozdr
Re: [django] dziwny regexp
#27465
Author: Adam Przybyla
Date: Thu, 13 May 2010 18:44
22 lines
1652 bytes
manner <mannerek@gmail.com> wrote:
> witam,
> 
> mam zgryza z regexpem w django - chodzi o zwalidowanie dwóch pól
> formularza (imię i nazwisko) w ten sposób aby dopuszczalne były
> jedynie słowa pisane wielką literą. problem mam z polskimi znakami,
> kiedy dam coś  takiego:
> 
> class JakasKlasaForm(forms.ModelForm):
>    nazwisko_klienta = forms.RegexField(regex='[A-Z
> \u0104\u0106\u0118\u0141\u0143\u00d3\u015a\u0179\u017b]
> {1}',error_message='error')
>    class
> Meta:
>        # Nazwa
> modelu
>        model = JakasKlasa
> 
> działa OK dla nazwisk Żak, Żakowski, ale już Żok, Żokowski jest
> błędne... kompletnie już nie wiem o co w tym biega. ktoś pomoże?
	... a pokaz kilak pierwszych linijek skryptu ... Z powazaniem
								Adam Przybyla
Re: dziwny regexp
#27466
Author: manner
Date: Thu, 13 May 2010 18:49
8 lines
1507 bytes
On May 13, 8:44 pm, Adam Przybyla <a...@rybnik.pl> wrote:

>         ... a pokaz kilak pierwszych linijek skryptu ... Z powazaniem
mam jako pierwszą
# -*- coding: utf-8 -*-


pozdr
Re: dziwny regexp
#27467
Author: Adam Przybyla
Date: Sat, 15 May 2010 04:53
8 lines
1232 bytes
manner <mannerek@gmail.com> wrote:
> On May 13, 8:44 pm, Adam Przybyla <a...@rybnik.pl> wrote:
> 
>>         ... a pokaz kilak pierwszych linijek skryptu ... Z powazaniem
> mam jako pierwszą
> # -*- coding: utf-8 -*-
	... a r'string', u'utfek' ?  Z powazaniem
								Adam Przybyla
Re: dziwny regexp
#27468
Author: manner
Date: Mon, 17 May 2010 09:58
41 lines
2593 bytes
On May 15, 6:53 am, Adam Przybyla <a...@rybnik.pl> wrote:

> >>         ... a pokaz kilak pierwszych linijek skryptu ... Z powazaniem
> > mam jako pierwszą
> > # -*- coding: utf-8 -*-
>         ... a r'string', u'utfek' ?  Z powazaniem
nie bardzo wiem o co mnie pytasz ;)

mam tak - dane które mają być zwalidowane wysyłam POSTem z formularza

class JakasKlasaForm(forms.ModelForm):
    nazwisko_klienta = forms.RegexField(regex='[A-Z
\u0104\u0106\u0118\u0141\u0143\u00d3\u015a\u0179\u017b]
{1}',error_message='error')
    class Meta:
        # Nazwa modelu
        model = JakasKlasa

def costam(request):

        if
(request.method=='POST'):
           formularz =
JakasKlasaForm(request.POST)
           if
formularz.is_valid():
 
imie_klienta=formularz.cleaned_data['imie_klienta']
 
nazwisko_klienta=formularz.cleaned_data['nazwisko_klienta']
 
uwagi=formularz.cleaned_data['uwagi']

 
formularz.save()
               return HttpResponseRedirect('/') # Redirect after
POST

i tak jak pisałem działa np. dla  Żak, Żakowski, ale już Żok, Żokowski
się nie waliduje....
a chodzi tylko o to żeby wymusić pisanie nazwisk wielką literą....
Re: dziwny regexp
#27469
Author: Łukasz Rekucki
Date: Mon, 17 May 2010 12:53
59 lines
3225 bytes
On 17 Maj, 11:58, manner <manne...@gmail.com> wrote:
> On May 15, 6:53 am, Adam Przybyla <a...@rybnik.pl> wrote:
>
> > >>         ... a pokaz kilak pierwszych linijek skryptu ... Z powazaniem
> > > mam jako pierwszą
> > > # -*- coding: utf-8 -*-
> >         ... a r'string', u'utfek' ?  Z powazaniem
>
> nie bardzo wiem o co mnie pytasz ;)
>
> mam tak - dane które mają być zwalidowane wysyłam POSTem z formularza
>
> class JakasKlasaForm(forms.ModelForm):
>     nazwisko_klienta = forms.RegexField(regex='[A-Z
> \u0104\u0106\u0118\u0141\u0143\u00d3\u015a\u0179\u017b]
> {1}',error_message='error')
>     class Meta:
>         # Nazwa modelu
>         model = JakasKlasa
>
> def costam(request):
>
>         if
> (request.method=='POST'):
>            formularz =
> JakasKlasaForm(request.POST)
>            if
> formularz.is_valid():
>
> imie_klienta=formularz.cleaned_data['imie_klienta']
>
> nazwisko_klienta=formularz.cleaned_data['nazwisko_klienta']
>
> uwagi=formularz.cleaned_data['uwagi']
>
> formularz.save()
>                return HttpResponseRedirect('/') # Redirect after
> POST
>
> i tak jak pisałem działa np. dla  Żak, Żakowski, ale już Żok, Żokowski
> się nie waliduje....
> a chodzi tylko o to żeby wymusić pisanie nazwisk wielką literą....

Napis '\u015a' nie oznacza tego co myślisz:

>>> '\u015a'
'\\u015a'
>>> len('\u015a')
6

Twoje pole powinno wyglądać tak:

forms.RegexField(regex=u'^[A-Z
\u0104\u0106\u0118\u0141\u0143\u00d3\u015a\u0179\u017b]')

u'', bo to ma być unicode; ^ na początku, bo chcesz żeby napis
zaczynał się od wielkiej litery, a {1} jest niepotrzebne.

PS. Żak było ok, bo jest w nim litera "a".
Re: dziwny regexp
#27470
Author: manner
Date: Mon, 17 May 2010 14:46
8 lines
1539 bytes
On May 17, 2:53 pm, Łukasz Rekucki <lreku...@gmail.com> wrote:

> Twoje pole powinno wyglądać tak:
[...]

dzęki :)

km.
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads