7
Oto mój kod:walidacja Regex z WTForms i Python
class CreateUser(Form):
username = StringField('Username', [
validators.Regexp('\w+', message="Username must contain only letters numbers or underscore"),
validators.Length(min=5, max=25, message="Username must be betwen 5 & 25 characters")
])
password = PasswordField('New Password', [
validators.DataRequired(),
validators.EqualTo('confirm', message='Passwords must match')
])
confirm = PasswordField('Repeat Password')
więc problem istnieje w wierszu 3. Chcę nazwa użytkownika będzie tylko alfa znaki numeryczne. Z jakiegoś powodu to wyrażenie sprawdza tylko pierwszy znak. Czy istnieje powód, dla którego symbol + nie działa? Dzięki.
O ile się nie mylę, "\ w +" oznacza "jedną lub więcej postaci \ w", myślę, że chcesz r '\ w +', aby zapobiec ucieczce – user2085282
@ user2085282 Tak, to też nie działa. ale myślę, że to prawdopodobnie ma coś wspólnego z ucieczką ... – mpn