class SubmitPasteForm(Form): title = StringField(validators=[validators.Length(min=1, max=24)]) content = StringField(validators=[ validators.InputRequired("Pastes cannot be empty."), validators.Length(min=1, max=600000) ]) language = StringField( validators=[validators.InputRequired("A language must be selected.")]) expiration = IntegerField(validators=[ validators.AnyOf([*range(0, 8)], "A valid expiration option must be selected.") ]) password = StringField(validators=[validators.Length(max=128)]) open_edit = BooleanField(validators=[ validators.AnyOf( [False, True], "You must specify if the paste will have open-edit enabled.") ]) def validate(self): rv = Form.validate(self) if not rv: return False if self.language.data not in language_list: self.language.errors.append( "Please specify a valid language for the paste.") return False return True
class AlertForm(Form): """Form object for website.""" phone_number = StringField('Phone Number', [ validators.Length( min=10, max=10, message="Please enter a valid phone number"), validators.Regexp('^[0-9]+$', message="Input characters must be only numeric") ]) asset = SelectField('Asset', choices=assets) market = SelectField('Market', choices=[('', '')] + [(m, m) for m in market_apis], default='') cond_option_validators = [validators.AnyOf([0, 1, 2, 3])] cond_option = SelectField('Condition Option', choices=[(-1, ''), (1, 'Above a price'), (0, 'Below a price'), (2, 'Percent increase'), (3, 'Percent decrease')], validators=cond_option_validators, coerce=int) price_validators = [validators.InputRequired()] price = FloatField('Target Price') percent_validators = [validators.InputRequired()] percent = FloatField('Target Percent Change') percent_duration_validators = [validators.AnyOf([times[1][0]])] percent_duration = SelectField( 'Target Change Duration', choices=[times[1]], # currently only supports 24 hours coerce=int) end_date = DateField("Enter end date for alert (YYYY-MM-DD)", format='%Y-%m-%d', default=lambda: datetime.now() + timedelta(days=7)) recaptcha = RecaptchaField( 'Recaptcha', validators=[Recaptcha("Please do the recaptcha.")]) def validate(self, **kwargs): """Validate the AlertForm.""" if self.cond_option.data == 1 or self.cond_option.data == 0: self.price.validators = AlertForm.price_validators self.percent.validators = [validators.optional()] self.percent_duration.validators = [validators.optional()] elif self.cond_option.data == 2 or self.cond_option.data == 3: self.price.validators = [validators.optional()] self.percent.validators = AlertForm.percent_validators pdv = AlertForm.percent_duration_validators self.percent_duration.validators = pdv if self.asset.data in supported_assets: market_validators = [ validators.AnyOf( [m for m in supported_assets[self.asset.data]['markets']]) ] self.market.validators = market_validators return super().validate(**kwargs)
class ContactForm(FlaskForm): radio = RadioField('please select one', choices=[('value_1', 'choice_1'), ('value_2', 'choice_2'), ('value_3', 'choice_3')], validators=[ validators.AnyOf(['value_1', 'value_2', 'value_3'], 'please select one value') ]) select = SelectField( 'please select a day', choices=[('monday', 'Mon.'), ('tuesday', 'Tues.'), ('wednsday', 'Wed.'), ('thursday', 'Thurs.'), ('friday', 'Fri.'), ('saturday', 'Sat.'), ('sunday', 'Sun.')], validators=[validators.AnyOf(['tuesday'], 'please select Tuesday')]) selectMultiple = SelectMultipleField( 'please select mutiple items', choices=[('value_1', 'choice_1'), ('value_2', 'choice_2'), ('value_3', 'choice_3')], validators=[ validators.AnyOf( [['value_1', 'value_2'], ['value_1', 'value_3']], 'only choose the top 2 items or the first and third item') ]) submit = SubmitField('submit')
class RatesSchema(Form): # filters - function that is applied before validators are checked # here upper() is added to make validators case non sensitive curr_from = StringField('curr_from', filters=[lambda x: x.upper()], validators=[validators.DataRequired(), validators.AnyOf(['USD', 'EUR', 'AED'])]) curr_to = StringField('curr_to', filters=[lambda x: x.upper()], validators=[validators.DataRequired(), validators.AnyOf(['USD', 'EUR', 'AED'])])
class TransactionForm(Form): vendor = StringField( "Vendor", validators=[ # Checks if the input vendor id really exisits in the db validators.AnyOf(all_usernames(), message="No such Vendor exists in our database"), # Checks if there is an input validators.InputRequired(message="Please provide the vendor ID") ]) buyer = StringField( "Buyer", validators=[ # Checks if the input buyer id really exisits in the db validators.AnyOf(all_usernames(), message="No such Buyer exists in our database"), # Checks if there is an input validators.InputRequired(message="Please provide the buyer ID") ]) car = StringField( "Car-ID", validators=[ # Checks if the input car id really exisits in the db validators.AnyOf(all_owners().keys(), message="No such Cad ID exists in our database"), # Checks if there is an input validators.InputRequired(message="Please provide the car ID") ]) private_key = StringField("Secret Key")
class PaperUploadForm(Form): year = StringField( 'Year', validators=[validators.AnyOf(list(const.SCHOOL_YEAR.keys()), '年度不正确')]) section = StringField( 'Section', validators=[validators.AnyOf(list(const.SECTION.keys()), '学期不正确')]) paper_types = StringField('PaperType', validators=[ validators.AnyOf( list(const.PAPER_TYPE.keys()), '试卷类型不正确') ]) school_id = IntegerField('SchoolId', validators=[validators.DataRequired('请选择学校')]) province_id = IntegerField('ProvinceId', validators=[validators.DataRequired('请选择省份')]) city_id = IntegerField('CityId', validators=[validators.DataRequired('请选择城市')]) area_id = IntegerField('AreaId', validators=[validators.DataRequired('请选择地区')]) subject = IntegerField('Subject', validators=[validators.DataRequired('学科不正确')]) grade = StringField( 'Subject', validators=[validators.AnyOf(list(const.GRADE.keys()), '年级不正确')]) name = StringField('Name', validators=[validators.DataRequired('请输入试卷名称')]) exam_date = DateField('ExamDate', validators=[validators.DataRequired('请选择考试时间')]) is_fast = IntegerField('IsFast')
class CircleForm(BaseForm): installments = HiddenField(u"Installments", [validators.AnyOf(["3", "36"])]) openended_status = HiddenField(u"Openended Status", [validators.AnyOf(["None"])]) installment_period = StringField(u"Installment Period", [validators.AnyOf(["yearly", "monthly"])]) zipcode = StringField(u"ZIP Code", [validators.Length(max=5)])
class ContactForm(FlaskForm): radio = RadioField('请选择一个',choices = [('值1','选项1'),('值2','选项2'),('值3','选项3')],\ validators = [validators.AnyOf(['值1','值2','值3'],'请选中一个值')]) select = SelectField('请选择一个选项',choices = [('值1','选项1'),('值2','选项2'),('值3','选项3')],\ validators = [validators.AnyOf(['值2'],'请选择第二项')]) selectmultiple = SelectMultipleField('请选择多个选项',choices = [('值1','选项1'),('值2','选项2'),('值3','选项3')],\ validators = [validators.AnyOf([['值1','值2'],['值1','值3']],'只能选择前两项或第一和第三项')]) submit = SubmitField('提交')
class PreliminaryStudentRegForm(Form): group = StringField('Group', [validators.Length(min=1, max=5)]) year = IntegerField('Year', [validators.NumberRange(min=1900, max=2016)]) degree = StringField( 'Degree', [validators.AnyOf(['bachelor', 'specialist', 'master'])]) education_form = StringField( 'Education', [validators.AnyOf(['full', 'part', 'evening'])]) education_basis = StringField('Education', [validators.AnyOf(['contract', 'budget'])])
class RegistrationForm(Form): days = ["mon","tue","wed","thu","fri","sat","sun"] pins = [0,2,4,5] states = ["turnOn", "turnOff"] day = StringField('day', [validators.AnyOf(days)]) hour = IntegerField('hour', [validators.NumberRange(0,23)]) minute = IntegerField('minute', [validators.number_range(0,59)]) id = StringField('id', [validators.Length(5,15)]) description = StringField('description', [validators.Length(0,55)]) pin = IntegerField('pin', [validators.AnyOf(pins)]) state = StringField('state', [validators.AnyOf(states)])
class AnadirForm(FlaskForm): id=StringField('id') nombre=StringField('nombre',[validators.InputRequired()]) pedido=StringField('pedido',[validators.InputRequired(),validators.AnyOf(baseDatos.getColumna("Pedido","idPedido"))]) boquilla=StringField('boquilla',[validators.InputRequired(),validators.AnyOf(baseDatos.getColumna("Boquilla","idBoquilla"))]) rollo=StringField('rollo',[validators.InputRequired(),validators.AnyOf(baseDatos.getColumna("Rollo","idRollo"))]) maquina=StringField('maquina',[validators.InputRequired(),validators.AnyOf(baseDatos.getColumna("Maquina","idMaquina"))]) volumen=StringField('volumen',[validators.InputRequired()]) fecha= DateField('fecha',[validators.InputRequired()]) file = FileField('Introduce Gcode',validators=[FileRequired()]) submit = SubmitField('Submit')
class DonateForm(BaseForm): lock_key = HiddenField("Lock Key", [validators.Optional()]) display_as = StringField(u"Preferred name", [validators.Optional()]) anonymous = BooleanField(u"Anonymous?", false_values=(False, 'false', 0, '0', None, "None")) in_honor_or_memory = RadioField(u"Honor or memory?", [validators.Optional()], choices=[('honor', 'In honor of'), ('memory', 'In memory of'), ('0', 'False')]) in_honor_memory_of = StringField(u"Honor or memory of", [validators.Optional()]) # swag # this needs to be updated if the swag options change member_benefit_request_swag = HiddenField( u"Swag choice", [validators.Optional(), validators.AnyOf(["mug", "water bottle"])]) member_benefit_request_atlantic = HiddenField( u"The Atlantic subscription?", [validators.Optional(), validators.AnyOf(["yes", "no"])]) member_benefit_request_atlantic_id = HiddenField( "The Atlantic Subscriber ID", [validators.Optional()]) member_benefit_request_nyt = HiddenField( u"New York Times subscription?", [validators.Optional(), validators.AnyOf(["yes", "no"])]) # billing billing_street = StringField(u"Street Address", [ validators.required(message="Your billing street address is required.") ]) billing_city = StringField( u"City", [validators.required(message="Your billing city is required.")]) billing_state = StringField( u"State", [validators.required(message="Your billing state is required.")]) billing_zip = StringField( u"ZIP Code", [validators.required(message="Your billing zip code is required.")]) billing_country = StringField(u"Country", [validators.Optional()]) # shipping shipping_name = StringField(u"Ship to", [validators.Optional()]) shipping_street = StringField(u"Street Address", [validators.Optional()]) shipping_city = StringField(u"City", [validators.Optional()]) shipping_state = StringField(u"State", [validators.Optional()]) shipping_zip = StringField(u"ZIP Code", [validators.Optional()]) shipping_country = StringField(u"Country", [validators.Optional()])
class BOOK(Form): TITLE = StringField('TITLE', [validators.DataRequired()]) LANGUAGE = StringField( 'LANGUAGE', [validators.DataRequired(), validators.AnyOf(['EN', 'HN', 'GUJ'])]) TYPE = StringField('TYPE', [ validators.DataRequired(), validators.AnyOf(['SCI', 'MAT', 'ENG', 'COM']) ]) SHELF = StringField('SHELF', [validators.DataRequired()]) AUTHOR = StringField('AUTHOR', [validators.DataRequired()]) BOOKCNT = StringField('BOOKCNT', [validators.DataRequired()]) PUBLISHER = StringField('PUBLISHER', [validators.DataRequired()])
class TradeForm(Form): trade_security = HiddenField("Security", [ validators.AnyOf(["0", "1", "2"], "Invalid asset type."), validators.InputRequired("No security type chosen.")]) trade_strike = HiddenField("Strike", [ validators.InputRequired("No strike price chosen.")]) trade_stock_id = HiddenField("Stock", [ validators.InputRequired("No stock symbol chosen.")]) trade_qty = DecimalField("Quantity", [ validators.NumberRange(min=1, message="Quantity must be positive."), validators.InputRequired("No quantity chosen.")]) trade_position = RadioField("Action", [ validators.AnyOf(["buy", "sell"], "Invalid action."), validators.InputRequired("No action chosen.")], choices=[("buy", "Buy"), ("sell", "Sell")])
class ItemForm(Form): name = StringField('Name', validators=[DataRequired(), Length(max=50)]) description = StringField('Description', widget=TextArea(), validators=[DataRequired(), Length(max=250)]) category_name = SelectField('Category', choices=category_choices, validators=[validators.AnyOf(category_names)])
class FRB(Form): BOOKID = StringField('BOOKID', [validators.DataRequired()]) UID = StringField('UID', [validators.DataRequired()]) FETCH_RETURN_BORROW = StringField( 'FETCH_RETURN_BORROW', [validators.DataRequired(), validators.AnyOf(['F', 'R', 'B'])])
class BaseForm(FlaskForm): class Meta: def bind_field(self, form, unbound_field, options): filters = unbound_field.kwargs.get("filters", []) filters.append(strip_filter) return unbound_field.bind(form=form, filters=filters, **options) first_name = StringField( u"First name", [validators.required(message="Your first name is required.")]) last_name = StringField( u"Last name", [validators.required(message="Your last name is required.")]) amount = DecimalField( u"Amount", [ validators.required(message="Please choose a donation amount."), validators.NumberRange(min=1), ], ) stripeEmail = EmailField("Email address", [validators.DataRequired(), validators.Email()]) stripeToken = HiddenField(u"Stripe token", [validators.InputRequired()]) description = HiddenField(u"Description", [validators.InputRequired()]) pay_fees_value = HiddenField(u"Pay Fees Value", [validators.AnyOf(["True", "False"])]) reason = StringField(u"Encouraged to give by", [validators.Length(max=255)]) campaign_id = HiddenField("Campaign ID", [validators.Length(max=18)]) referral_id = HiddenField("Referral ID", [validators.Length(max=18)])
class VoteForm(Form): value = RadioField('Vote', [ validators.InputRequired(message="Cannot be empty"), validators.AnyOf(["1", "2", "3", "4", "5"]) ], choices=[('1', '1'), ('2', '2'), ('3', '3'), ('4', '4'), ('5', '5')])
class EditEventForm(BaseForm): content = JSONField( 'Event content', validators=[ OptionalButNotEmptyValidator(), ], ) outcomes = FieldList( FormField(RestrictedEditOutcomeForm, 'Possible outcomes'), validators=[ OptionalButNotEmptyValidator(), ], ) state = StringField('State', validators=[ OptionalButNotEmptyValidator(), validators.AnyOf([e.name for e in EventState]) ]) tags = FieldList(StringField('Tag', validators=[ OptionalButNotEmptyValidator(), ListFromTableValidator(Tag, 'name'), ]), validators=[ OptionalButNotEmptyValidator(), ])
class Abstract(BaseForm): btest = StringField('', [validators.AnyOf('')]) # Bot Protection authors = FieldList(FormField(Author)) affiliations = FieldList(FormField(Affiliation)) contribution = RadioField('Contribution', choices=[ ('None', 'None'), ], default='None') category = SelectField('Category') title = StringField('Title', [validators.Length(max=300)]) content = TextAreaField('Abstract') img_use = BooleanField('Include Figure') img_width = IntegerField('Width (1-100%)', [validators.NumberRange(min=1, max=100)]) img_upload = FileField('Upload Figure (new)', [ FileAllowed(list(config.forms.ALLOWED_EXTENSIONS), 'File type is not valid.') ]) img_delete = BooleanField('Delete Figure') caption_validators = [validators.Length(max=600)] if config.submission.require_figure_caption: caption_validators.append(validator_img()) img_caption = TextAreaField('Figure Caption', caption_validators) halt_on_error = BooleanField('Stop LaTeX on Error')
class Abstract_invited(BaseForm): btest = StringField('', [validators.AnyOf('')]) # Bot Protection authors = FieldList(FormField(Author)) affiliations = FieldList(FormField(Affiliation_invited)) category = SelectField('Category') title = StringField('Title', [validators.Length(max=300)]) content = TextAreaField('Abstract') img_use = BooleanField('Include Figure') img_width = IntegerField('Width (1-100%)', [validators.NumberRange(min=1, max=100)]) img_caption = TextAreaField('Figure Caption', [validators.Length(max=600)]) img_upload = FileField('Upload Figure (new)', [ FileAllowed(list(config.forms.ALLOWED_EXTENSIONS), 'File type is not valid.') ]) img_delete = BooleanField('Delete Figure') portrait_upload = FileField('Upload Portrait (new)', [ FileAllowed(list(config.forms.ALLOWED_EXTENSIONS), 'File type is not valid.') ]) portrait_delete = BooleanField('Delete Figure') halt_on_error = BooleanField('Stop LaTeX on Error')
class ArticleSettingsForm(ArticleBaseMixin, SecureForm): code = HiddenField([ v.Required(), ]) title = StringField('Title', [ v.Required(), v.Length(min=3, max=128), ]) scope = BooleanField('Scope', [ v.Required(), ]) progress_state = SelectField('Progress State', [ v.Required(), ], choices=()) # delay path = StringField('Path', [ v.Required(), v.Regexp(PATH_PATTERN), v.Regexp(PATH_PATTERN_INVALID), v.Length(min=6, max=64), path_duplication_check, path_availability_check, ]) context = HiddenField([v.Required(), v.AnyOf(('settings', ))]) submit = SubmitField('Save') def __init__(self, *args, **kwargs): # pylint: disable=no-member article = args[1] self.__class__.progress_state.kwargs['choices'] = \ article.available_progress_states_as_choices super().__init__(*args, **kwargs)
class addphotoform(Form): name = wtfields.StringField(validators=[validators.input_required()]) description = wtfields.StringField() privacy = wtfields.StringField(validators=[ validators.input_required(), validators.AnyOf(['private', 'public', 'link']) ])
class UsersUserTokenForm(Form): offset = IntegerField(default=0) limit = IntegerField(default=100, validators=[validators.NumberRange(min=100, max=1000)]) enabled = IntegerField(default=1, validators=[validators.NumberRange(min=0, max=1)]) sort_by = StringField( validators=[validators.Optional(), validators.AnyOf(["age", "user", "name"])] )
def conv_String(self, column, field_args, **extra): if hasattr(column.type, 'enums'): field_args['validators'].append(validators.AnyOf(column.type.enums)) field_args['choices'] = [(f,f) for f in column.type.enums] return form.Select2Field(**field_args) self._string_common(column=column, field_args=field_args, **extra) return fields.TextField(**field_args)
class editphotoform(Form): name = wtfields.StringField() description = wtfields.StringField() privacy = wtfields.StringField(validators=[ validators.optional(), validators.AnyOf(['private', 'public', 'link']) ])
class TournamentForm(FlaskForm): name = StringField("Name", [validators.DataRequired(message='Must not be a string containing only whitespace'), validators.Length(min=4, max=144)]) playercount = IntegerField("Playercount", [validators.AnyOf(values=[2,4,8,16,32,64,128])], widget=NumberInput()) description = TextAreaField("Tournament description", [validators.Length(max=500)]) class Meta: csrf = False
class StoreOCForm(Form): secret = StringField( 'The secret token of the admin', [validators.DataRequired(message='Secret is needed'), check_secret]) id = StringField('store id', [validators.DataRequired()]) action = BooleanField('The action true to open flase to close', [validators.AnyOf([True, False])])
class ContactForm(FlaskForm): name = StringField(label='Name', validators=[ validators.Length(min=4, max=25) ]) email = StringField(label='E-mail', validators=[ validators.Length(min=6, max=35), validators.Email() ]) # class work: сделать валидатор для job: # 1. job должны быть только такие: IT, Bank, HR # 2. job поле должно быть обязательнным job = StringField(label='Job', validators=[ validators.DataRequired(), validators.AnyOf(values=['IT', 'Bank', 'HR']) ]) # валидация дня рождения пользователя # 1. валидируем месяц, если он равен текущему - все хорошо, иначе - плохо birthday = DateField(label='Birthday') # '1988-05-02' format def validate(self): rv = FlaskForm.validate(self) if self.birthday.data.month == datetime.date.today().month and rv: return True else: return False
class RegistrationForm(Form): username = StringField('Username', [ length(min=4, max=25), validators.Regexp('^\w+$', message='Username must contain only letters numbers or underscore') ]) email = StringField('Email Address', [ validators.DataRequired('Please enter email address'), validators.Length(min=6, max=35), validators.Email(message='Please enter valid email address') ]) password = PasswordField('New Password', [ validators.DataRequired(), validators.EqualTo('confirm', message='Passwords must match') ]) confirm = PasswordField('Repeat Password') education = StringField('Education', [ validators.Optional(), validators.AnyOf(['B-Tech', 'Graduate', 'Post Graduate'], message='Can only be B-Tech, Graduate, Post Graduate')]) accept_tos = BooleanField('I accept the TOS', [validators.DataRequired()]) def __init__(self, *args, **kwargs): # Form.__init__(self, *args, **kwargs) super(RegistrationForm, self).__init__(*args, **kwargs) self.creator = None def validate(self): rv = super(RegistrationForm, self).validate() if not rv: return False self.creator = 'Some object reference' return True