class ArtistForm(Form): name = StringField('name', validators=[DataRequired()]) city = StringField('city', validators=[DataRequired()]) state = SelectField('state', validators=[DataRequired()], choices=State.getStates()) phone = StringField( # TODO implement validation logic for state 'phone') image_link = StringField('image_link') genres = SelectMultipleField( # TODO implement enum restriction 'genres', validators=[DataRequired()], choices=Genre.getGenres()) facebook_link = StringField( # TODO implement enum restriction 'facebook_link', validators=[URL()]) website = StringField('website', validators=[URL()]) image_link = StringField('image_link', validators=[URL()]) seeking_venue = SelectField('seeking_venue', validators=[DataRequired()], choices=[('Yes', 'Yes'), ('No', 'No')]) seeking_description = TextAreaField('seeking_description')
class VenueForm(Form): name = StringField('name', validators=[DataRequired()]) city = StringField('city', validators=[DataRequired()]) state = SelectField('state', validators=[DataRequired()], choices=State.choices()) address = StringField('address', validators=[DataRequired()]) phone = StringField('phone', validators=[check_area_code]) image_link = StringField('image_link') genres = SelectMultipleField('genres', validators=[DataRequired()], choices=Genre.choices()) facebook_link = StringField('facebook_link', validators=[Optional(), URL()]) website_link = StringField('website_link', validators=[Optional(), URL()]) seeking_talent = BooleanField('seeking_talent') seeking_description = StringField('seeking_description') def validate(self): rv = Form.validate(self) if not rv: return False if not is_valid_phone(self.phone.data): self.phone.errors.append('Invalid phone number.') return False if not set(self.genres.data).issubset(dict(Genre.choices()).keys()): self.genres.errors.append('Invalid genre.') return False if self.state.data not in dict(State.choices()).keys(): self.state.errors.append('Invalid state.') return False return True
class VenueForm(Form): name = StringField('name', validators=[DataRequired(), Length(-1, 120)]) city = StringField('city', validators=[DataRequired(), Length(-1, 120)]) state = SelectField( 'state', validators=[DataRequired(), AnyOf([choice.value for choice in State])], choices=State.choices()) address = StringField('address', validators=[DataRequired(), Length(-1, 120)]) # IDEA: add a phone number validator phone = StringField('phone') image_link = StringField('image_link', validators=[Length(-1, 500), URL(), Optional()]) genres = SelectMultipleField('genres', validators=[ DataRequired(), anyof_for_multiple_field( [choice.value for choice in Genre]) ], choices=Genre.choices()) facebook_link = StringField( 'facebook_link', validators=[Length(-1, 120), URL(), Optional()])
class ArtistForm(FlaskForm): name = StringField('name', validators=[DataRequired(), Length(-1, 120)]) city = StringField('city', validators=[DataRequired(), Length(-1, 120)]) state = SelectField( 'state', validators=[DataRequired(), AnyOf([choice.value for choice in State])], choices=State.choices()) phone = StringField( # TODO implement validation logic for state 'phone') image_link = StringField('image_link') genres = SelectMultipleField( # TODO implement enum restriction 'genres', validators=[DataRequired(), custom_validator], choices=Genre.choices()) facebook_link = StringField( # TODO implement enum restriction 'facebook_link', validators=[URL()]) seeking_venue = BooleanField( # TODO implement enum restriction 'seeking_venue') seeking_description = StringField( # TODO implement enum restriction 'seeking_description')
def _my_genres(form, field): enum_genres = [value for choice, value in Genre.choices()] # Check if every vales is in genre enum for item in field.data: if not item in enum_genres: raise ValidationError
class VenueForm(Form): def validate(self): """Define a custom validate method in your Form:""" rv = Form.validate(self) if not rv: return False if not is_valid_phone(self.phone.data): self.phone.errors.append(':: Invalid phone number:') return False if not set(self.genres.data).issubset(dict(Genre.choices()).keys()): self.genres.errors.append(':: Invalid genres.') return False if self.state.data not in dict(State.choices()).keys(): self.state.errors.append(':: Invalid state.') return False # if pass validation return True name = StringField('name', validators=[DataRequired()]) city = StringField('city', validators=[DataRequired()]) state = SelectField('state', validators=[DataRequired()], choices=State.choices()) address = StringField('address', validators=[DataRequired()]) phone = StringField('phone') image_link = StringField('image_link') genres = SelectMultipleField('genres', validators=[DataRequired()], choices=Genre.choices()) facebook_link = StringField('facebook_link', validators=[URL()]) website_link = StringField('website_link') seeking_talent = BooleanField('seeking_talent') seeking_description = StringField('seeking_description')
class ArtistForm(FlaskForm): name = StringField('name', validators=[DataRequired()]) city = StringField('city', validators=[DataRequired()]) state = SelectField( 'state', validators=[DataRequired(), AnyOf([item.value for item in State])], choices=State.items()) phone = StringField('phone', validators=[ Regexp(r'^[0-9\-\+]+$', 0, message='The phone must be valid') ]) genres = SelectMultipleField('genres', validators=[ DataRequired(), validate_genres( [item.value for item in Genre]) ], choices=Genre.items()) image_link = StringField('image_link', validators=[URL()]) facebook_link = StringField('facebook_link', validators=[URL()]) website = StringField('website', validators=[URL()]) seeking_venue = BooleanField('seeking_venue', ) seeking_description = TextAreaField('seeking_description', validators=[Length(min=10, max=500)])
class ArtistForm(Form): name = StringField('name', validators=[DataRequired()]) city = StringField('city', validators=[DataRequired()]) state = SelectField( 'state', validators=[DataRequired(), AnyOf([choice.value for choice in State])], choices=State.choices()) phone = StringField( # DONE implement validation logic for state 'phone', validators=[Length(-1, 10)]) image_link = StringField('image_link', validators=[Length(-1, 500), URL(), Optional()]) genres = SelectMultipleField( # TODO implement enum restriction 'genres', validators=[ DataRequired(), anyof_multiple_field([choice.value for choice in Genre]) ], choices=Genre.choices()) facebook_link = StringField( # TODO implement enum restriction 'facebook_link', validators=[Length(-1, 500), URL(), Optional()]) website_link = StringField('website_link', validators=[Length(-1, 500), URL(), Optional()]) seeking_description = StringField('seeking_description', validators=[Optional()])
class ArtistForm(Form): name = StringField('name', validators=[DataRequired('Name is required.')]) city = StringField( 'city', validators=[DataRequired('City is required.'), Length(0, 120)]) state = SelectField('state', validators=[DataRequired('State is required.')], choices=State.choices()) phone = StringField('phone') genres = SelectMultipleField( 'genres', validators=[DataRequired('At least one genre is required.')], choices=Genre.choices()) image_link = URLField('image_link', validators=[ DataRequired('Image link is required.'), URL(message='Image link must be an URL.'), Length(0, 500) ]) website_link = URLField('website_link', validators=[Length(0, 120)]) facebook_link = URLField('facebook_link', validators=[Length(0, 120)]) albums = StringField('albums', validators=[Length(0, 500)]) seeking_venue = BooleanField('seeking_venue', default='checked') seeking_description = StringField('seeking_description', default="I'm looking for venues.") available_times = BooleanField('available_times') available_start = DateTimeLocalField('available_start', default=datetime.utcnow, format='%Y-%m-%dT%H:%M') available_end = DateTimeLocalField('available_end', default=datetime.utcnow, format='%Y-%m-%dT%H:%M')
class VenueForm(Form): name = StringField('name', validators=[DataRequired('Name is required.')]) city = StringField( 'city', validators=[DataRequired('City is required.'), Length(0, 120)]) state = SelectField('state', validators=[DataRequired('State is required.')], choices=State.choices()) address = StringField('address', validators=[Length(0, 120)]) phone = StringField('phone') genres = SelectMultipleField( 'genres', validators=[DataRequired('At least one genre is required.')], choices=Genre.choices()) image_link = URLField('image_link', validators=[ DataRequired('Image link is required.'), URL(message='Image link must be an URL.'), Length(0, 500) ]) website_link = URLField('website_link', validators=[Length(0, 120)]) facebook_link = URLField('facebook_link', validators=[Length(0, 120)]) seeking_talent = BooleanField('seeking_talent', default='checked') seeking_description = StringField('seeking_description', default='We are looking for talent.')
class ArtistForm(Form): name = StringField('name', validators=[DataRequired()]) city = StringField('city', validators=[DataRequired()]) state = SelectField( 'state', validators=[DataRequired(), AnyOf([choice.value for choice in State])], choices=State.state_choices()) ## TODO implement validation logic for state phone = StringField('phone', validators=[Optional(), Regexp(r'^[0-9\-\+]+$')]) website = StringField('facebook_link', validators=[URL(), Optional()]) image_link = StringField('image_link', validators=[URL(), Optional()]) facebook_link = StringField( ## TODO implement enum restriction 'facebook_link', validators=[URL(), Optional()]) genres = SelectMultipleField( ## TODO implement enum restriction 'genres', validators=[DataRequired(), genre_validator], choices=Genre.g_choices()) seeking_venue = SelectField('seeking_venue', validators=[DataRequired()], choices=[('Yes', 'Yes'), ('No', 'No')]) seeking_description = StringField('seeking_description', validators=[Optional()])
class ArtistForm(Form): name = StringField('name', validators=[DataRequired()]) city = StringField('city', validators=[DataRequired()]) state = SelectField('state', validators=[DataRequired()], choices=State.choices()) phone = StringField( # TODO implement validation logic for state 'phone') image_link = StringField('image_link') genres = SelectMultipleField('genres', validators=[DataRequired()], choices=Genre.choices()) facebook_link = StringField('facebook_link', validators=[URL()]) website_link = StringField('website_link', validators=[URL()]) seeking_venue = BooleanField('seeking_venue') seeking_description = StringField('seeking_description') def validate(self): rv = FlaskForm.validate(self) if not rv: return False if not is_valid_phone(self.phone.data): self.phone.errors.append('Invalid phone.') return False if not set(self.genres.data).issubset(dict(Genre.choices()).keys()): self.genres.errors.append('Invalid genres.') return False if self.state.data not in dict(State.choices()).keys(): self.state.errors.append('Invalid state.') return False return true
class ArtistForm(Form): name = StringField( 'name', validators=[DataRequired()] ) city = StringField( 'city', validators=[DataRequired()] ) state = SelectField( 'state', validators=[DataRequired()], choices=State.choices() ) address = StringField( 'address', validators=[DataRequired()] ) phone = StringField( # TODO implement validation logic for state 'phone', validators=[DataRequired()] ) image_link = StringField( 'image_link' ) genres = SelectMultipleField( # TODO implement enum restriction 'genres', validators=[DataRequired()], choices=Genre.choices() ) facebook_link = StringField( # TODO implement enum restriction 'facebook_link', validators=[URL()] ) seeking_venue = SelectField( 'seeking_venue', validators=[DataRequired()], choices=[('Yes', 'Yes'), ('No', 'No')] ) website = StringField( 'website', validators=[URL()] ) seeking_description = StringField( 'seeking_description' ) def validate(self): """Define a custom validate method in your Form:""" rv = ArtistForm.validate(self) if not rv: return False if not is_valid_phone(self.phone.data): self.phone.errors.append('Invalid phone.') return False if not set(self.genres.data).issubset(dict(Genre.choices()).keys()): self.genres.errors.append('Invalid genres.') return False if self.state.data not in dict(State.choices()).keys(): self.state.errors.append('Invalid state.') return False # if pass validation return True
class ArtistForm(Form): name = StringField( 'Artist name', validators=[DataRequired(message='Please enter an artist name'), Length(min=2, max=50)] ) city = StringField( 'City', validators=[DataRequired('Please enter the artist\'s city'), Length(min=2, max=50)] ) state = SelectField( 'State', validators=[DataRequired(message='Please select the artist\'s state'), Length(min=2, max=50), AnyOf([choice.value for choice in State])], choices=State.choices() ) phone = StringField( 'Phone Number' ) image_link = StringField( 'Image link' ) genres = SelectMultipleField( 'Genres', validators=[DataRequired(), Length(max=150), ValidateValues([choice.value for choice in Genre])], choices=Genre.choices() ) website = StringField( 'Website', validators=[optional(strip_whitespace=False), URL(message='Please enter a valid URL'), Length(min=10, max=120)] ) facebook_link = StringField( 'Facebook link', validators=[optional(strip_whitespace=False), URL(message='Please enter a valid URL'), Length(min=15, max=120)] ) seeking_venue = BooleanField( 'Available to Venues' ) seeking_description = TextAreaField( 'Description for venues', validators=[Length(max=500)] ) monday = BooleanField( 'Monday', default='checked' ) tuesday = BooleanField( 'Tuesday', default='checked' ) wednesday = BooleanField( 'Wednesday', default='checked' ) thursday = BooleanField( 'Thursday', default='checked' ) friday = BooleanField( 'Friday', default='checked' ) saturday = BooleanField( 'Saturday', default='checked' ) sunday = BooleanField( 'Sunday', default='checked' )
class ArtistForm(Form): name = StringField('name', validators=[DataRequired()]) city = StringField('city', validators=[DataRequired()]) state = SelectField('state', validators=[DataRequired()], choices=State.choices()) phone = StringField('phone') image_link = StringField('image_link') genres = SelectMultipleField('genres', validators=[DataRequired()], choices=Genre.choices()) facebook_link = StringField('facebook_link', validators=[URL()])
def validate(self): rv = Form.validate(self) if not rv: return False if not set(self.genres.data).issubset(dict(Genre.choices()).keys()): self.genres.errors.append('Invalid genres.') return False if self.state.data not in dict(State.choices()).keys(): self.state.errors.append('Invalid state.') return False # if pass validation return True
def validate(self): # """Define a custom validate method in your Form:""" rv = Form.validate(self) if not rv: return False if not set(self.genres.data).issubset(dict(Genre.choices()).keys()): self.genres.errors.append('Invalid genre.') return False if self.state.data not in dict(State.choices()).keys(): self.state.errors.append('Invalid state.') return False # if pass validation return True
def validate(self): rv = FlaskForm.validate(self) if not rv: return False if not is_valid_phone(self.phone.data): self.phone.errors.append('Invalid phone.') return False if not set(self.genres.data).issubset(dict(Genre.choices()).keys()): self.genres.errors.append('Invalid genres.') return False if self.state.data not in dict(State.choices()).keys(): self.state.errors.append('Invalid state.') return False return true
class VenueForm(Form): name = StringField('name', validators=[DataRequired()]) city = StringField('city', validators=[DataRequired()]) state = SelectField('state', validators=[DataRequired()], choices=State.choices()) address = StringField('address', validators=[DataRequired()]) phone = StringField('phone') image_link = StringField('image_link') genres = SelectMultipleField( # TODO implement enum restriction 'genres', validators=[DataRequired()], choices=Genre.choices()) facebook_link = StringField('facebook_link', validators=[URL()])
class ArtistForm(Form): name = StringField('name', validators=[DataRequired()]) city = StringField('city', validators=[DataRequired()]) state = SelectField('state', validators=[DataRequired(), is_valid_state], choices=State.choices()) phone = StringField('phone', validators=[is_valid_phone]) image_link = StringField('image_link') genres = SelectMultipleField('genres', validators=[DataRequired(), is_valid_genre], choices=Genre.choices()) facebook_link = StringField('facebook_link', validators=[Optional(), URL()]) website = StringField('website') seeking_venue = BooleanField('seeking_venue') seeking_description = StringField('seeking_description')
class ArtistForm(Form): name = StringField( 'name', validators=[DataRequired()] ) city = StringField( 'city', validators=[DataRequired()] ) state = SelectField( 'state', validators=[DataRequired()], choices=State.choices() ) phone = StringField( # TODO implement validation logic for state 'phone' , validators=[DataRequired(), Length(min=10, max=11) ] ) address = StringField( # TODO implement validation logic for state 'address' , validators=[DataRequired(), ] ) image_link = StringField( 'image_link' ) genres = SelectMultipleField( # TODO implement enum restriction 'genres', validators=[DataRequired()], choices=Genre.choices() ) facebook_link = StringField( # TODO implement enum restriction 'facebook_link', validators=[URL()] ) website = StringField( 'website', validators=[URL()] ) seeking_venue = SelectField('seeking_venue', choices=[(False, 'No'), (True, 'Yes')]) seeking_description = StringField( 'seeking_description', validators=[DataRequired()] )
class ArtistForm(Form): name = StringField('name', validators=[DataRequired()]) city = StringField('city', validators=[DataRequired()]) state = SelectField('state', validators=[DataRequired()], choices=State.choices()) phone = StringField( # TODO implement validation logic for state 'phone', validators=[ DataRequired(), Regexp('^(\+\d{1,2}\s)?\(?\d{3}\)?[\s.-]\d{3}[\s.-]\d{4}$') ]) image_link = StringField('image_link') genres = SelectMultipleField( # TODO implement enum restriction 'genres', validators=[DataRequired()], choices=Genre.choices()) seeking_venues = BooleanField('seeking_venues', default=False) seeking_description = StringField('seeking_description') facebook_link = StringField( # TODO implement enum restriction 'facebook_link', validators=[URL()]) website = StringField( # TODO implement enum restriction 'website', validators=[URL()]) image_link = StringField( # TODO implement enum restriction 'image_link', validators=[URL()]) def validate(self): # """Define a custom validate method in your Form:""" rv = Form.validate(self) if not rv: return False if not set(self.genres.data).issubset(dict(Genre.choices()).keys()): self.genres.errors.append('Invalid genre.') return False if self.state.data not in dict(State.choices()).keys(): self.state.errors.append('Invalid state.') return False # if pass validation return True
class VenueForm(Form): name = StringField('name', validators=[DataRequired()]) city = StringField('city', validators=[DataRequired()]) state = SelectField('state', validators=[DataRequired(), is_valid_state], choices=State.choices()) address = StringField('address', validators=[DataRequired()]) phone = StringField('phone', validators=[is_valid_phone]) image_link = StringField('image_link') genres = SelectMultipleField( # TODO implement enum restriction 'genres', validators=[DataRequired(), is_valid_genre], choices=Genre.choices()) facebook_link = StringField('facebook_link', validators=[Optional(), URL()]) website = StringField('website') seeking_talent = BooleanField('seeking_talent') seeking_description = StringField('seeking_description')
class ArtistForm(Form): name = StringField('name', validators=[DataRequired()]) city = StringField('city', validators=[DataRequired()]) state = SelectField('state', validators=[DataRequired()], choices=State.statelist()) phone = StringField( # TODO implement validation logic for state 'phone') image_link = StringField('image_link') genres = SelectMultipleField( # TODO implement enum restriction 'genres', validators=[DataRequired()], choices=Genre.genvals()) facebook_link = StringField( # TODO implement enum restriction 'facebook_link', validators=[URL()])
class ArtistForm(Form): name = StringField('name', validators=[DataRequired()]) city = StringField('city', validators=[DataRequired()]) state = SelectField('state', validators=[ DataRequired(), AnyOf([(choice.value) for choice in State]) ], choices=State.choices()) phone = StringField('phone') image_link = StringField('image_link') genres = SelectMultipleField('genres', validators=[DataRequired(), genre_validator], choices=Genre.choices()) facebook_link = StringField('facebook_link', validators=[URL()]) website = StringField('website', validators=[URL()]) seeking_venue = BooleanField('seeking_venue') seeking_description = TextAreaField('seeking_description')
class ArtistForm(FlaskForm): name = StringField("name", validators=[DataRequired()]) city = StringField("city", validators=[DataRequired()]) state = SelectField("state", validators=[DataRequired()], choices=State.choices()) phone = StringField( "phone", validators=[ # DataRequired(), Regexp("^[0-9]*$", message="Phone number should only contain digits"), ], ) image_link = StringField("image_link") genres = SelectMultipleField("genres", validators=[DataRequired()], choices=Genre.choices()) facebook_link = StringField("facebook_link", validators=[URL()]) website = StringField("website", validators=[URL()]) seeking_venue = BooleanField("seeking_venue") seeking_description = StringField("seeking_description") def validate(self): """Define a custom validate method in your Form:""" rv = FlaskForm.validate(self) if not rv: return False if not set(self.genres.data).issubset(dict(Genre.choices()).keys()): self.genres.errors.append("Invalid genre.") return False if self.state.data not in dict(State.choices()).keys(): self.state.errors.append("Invalid state.") return False # if pass validation return True
def validate(self): """Define a custom validate method in your Form:""" rv = FlaskForm.validate(self) if not rv: return False if self.state.data not in dict(State.choices()).keys(): self.state.errors.append('Invalid state.') return False if not set(self.genres.data).issubset(dict(Genre.choices()).keys()): self.genres.errors.append('Invalid genres.') return False if not is_valid_phone(self.phone.data): self.phone.errors.append('Invalid phone format.') return False if not is_website_valid(self.website.data): self.website.errors.append('Invalid website url') return False if not is_facebook_valid(self.facebook_link.data): self.facebook_link.errors.append('Invalid Facebook url') return False return True
class VenueForm(Form): def validate_phone(self, phone): if not re.search(r"^[0-9]{3}-[0-9]{3}-[0-9]{4}$", field.data): raise ValidationError("Invalid phone number.") def validate_genres(self, genres): genres_values = [choice[1] for choice in genres_choices] for value in field.data: if value not in genres_values: raise ValidationError('Invalid genres value.') name = StringField('name', validators=[DataRequired(), Length(-1, 120)]) city = StringField('city', validators=[DataRequired(), Length(-1, 120)]) state = SelectField( 'state', validators=[DataRequired(), AnyOf([choice.value for choice in State])], choices=State.choices()) address = StringField('address', validators=[DataRequired(), Length(-1, 120)]) # IDEA: add a phone number validator phone = StringField('phone', validators=[DataRequired()]) image_link = StringField('image_link', validators=[Length(-1, 500), URL(), Optional()]) genres = SelectMultipleField('genres', validators=[ DataRequired(), anyof_for_multiple_field( [choice.value for choice in Genre]) ], choices=Genre.choices()) facebook_link = StringField( 'facebook_link', validators=[Length(-1, 120), URL(), Optional()])
class VenueForm(Form): name = StringField('name', validators=[DataRequired()]) city = StringField('city', validators=[DataRequired()]) state = SelectField('state', validators=[DataRequired()], choices=State.choices()) address = StringField('address', validators=[DataRequired()]) phone = StringField('phone') image_link = StringField('image_link') genres = SelectMultipleField('genres', validators=[ DataRequired(), AnyOf([(choice.value) for choice in Genre]) ], choices=Genre.choices()) facebook_link = StringField('facebook_link', validators=[URL()]) website_link = StringField('website_link') seeking_talent = BooleanField('seeking_talent') seeking_description = StringField('seeking_description')
class VenueForm(Form): name = StringField('name', validators=[DataRequired()]) city = StringField('city', validators=[DataRequired()]) state = SelectField('state', validators=[ DataRequired(), AnyOf([choice.value for choice in States]) ], choices=States.choices()) address = StringField('address', validators=[DataRequired()]) phone = StringField('phone', validators=[phone()]) genres = SelectMultipleField( # TODO:[COMPLETED] implement enum restriction 'genres', validators=[DataRequired(), my_genres()], choices=Genre.choices()) facebook_link = StringField('facebook_link', validators=[fb_url()]) image_link = StringField('image_link', validators=[my_url()]) website = StringField('website', validators=[my_url()]) seeking_talent = BooleanField('seeking_talent', default="checked") seeking_description = StringField('seeking_description', validators=[Length(max=256)])