def repeat_email_validator(form, field): """Validate repeat email field.""" if form.email.short_name in form.errors or \ (form.email.data == current_user['email'] and field.data == ""): raise StopValidation() if field.data != form.email.data: raise ValidationError(_("Email addresses does not match."))
def validate_PASSWORD(form, field): user = form.USER.data try: pwhash = Users().getHash(user) except: return if not check_password_hash(pwhash, field.data): raise StopValidation(_BADPW)
def validate_password(self, field): email = self.email.data.lower() user = User.query.filter_by(email=email).first() if not user or not user.check_password(field.data): raise StopValidation('Email or password is invalid.') if self.confirm.data: login(user, False)
def validate_password(self, field): email = self.email.data.lower() user = User.query.filter_by(email=email).first() if not user or not user.check_password(field.data): raise StopValidation( 'El correo electrónico que ingresaste no coinciden con ninguna cuenta.' ) self._user = user
def validate_subject(form, field): if not form.subject.data.isdigit(): m = re.search('(\d+)', form.subject.data) if m: form.subject.data = m.group(1) else: raise StopValidation('Please enter a valid subject') return True
def __call__(self, form, field): if not (isinstance(field.data, FileStorage) and field.data): if self.message is None: message = field.gettext('This field is required.') else: message = self.message raise StopValidation(message)
def addr_validator(form, field): try: if len(field.data) != 8: raise ValueError field.data = unhexlify(field.data) except (ValueError, binascii.Error) as e: raise StopValidation('%s is not a valid %s. Expect 8 hex digits.' % (field.data, field.name))
def isbn_syntax_validation(form, field): """Validate ISBN syntax.""" message = "The provided ISBN is invalid - it should look \ similar to '1413304540', '1-4133-0454-0', '978-1413304541' or \ '978-1-4133-0454-1'." if field.data and not is_isbn(field.data): raise StopValidation(message)
def eui_validator(form, field): try: if len(field.data) != 16: raise ValueError field.data = unhexlify(field.data) except (ValueError, hex_error): raise StopValidation( '%s is not a valid EUI. EUI should be 16 hex digits.' % field.data)
def nwkskey_validator(form, field): try: if len(field.data) != 32: raise ValueError field.data = unhexlify(field.data) except (ValueError, hex_error): raise StopValidation('%s is not a valid %s. Expect 32 hex digits.' % (field.data, field.name))
def validate_state(self, value): try: if value.data == "0": self.state.data = "0" else: self.state.data = OrderStateEnum(int(value.data)) except Exception as e: raise StopValidation("无效的订单状态")
def validate_merchant_name(self, value): try: if value.data: self.merchant_name.data = MerchantEnum.from_name(value.data) else: self.merchant_name.data = None except Exception as e: raise StopValidation("无效的商户名称")
def validate_channel(self, value): try: if value.data: self.channel.data = ChannelConfigEnum.from_name(value.data) else: self.channel.data = None except Exception as e: raise StopValidation("无效的channel")
def __call__(self, form, field): if not field.has_file(): return filename = field.data.filename.lower() if isinstance(self.upload_set, (tuple, list)): ext = filename.rsplit('.', 1)[-1] if ext in self.upload_set: return message = '{} is not in the allowed extentions: {}'.format( ext, self.upload_set) raise StopValidation(self.message or message) if not self.upload_set.file_allowed(field.data, filename): raise StopValidation(self.message or 'File does not have an approved extension')
def __call__(self, form, field): if callable(self.message): self.message = self.message() try: match = super(Email, self).__call__(form, field, self.message) except ValidationError: if self.stop: raise StopValidation(self.message) else: raise ValidationError(self.message) if not self.validate_hostname(match.group(1)): if self.stop: raise StopValidation(self.message) else: raise ValidationError(self.message)
def validate_date_end(self, value): if value.data is None: raise StopValidation() try: date_end = datetime.strptime(value.data, '%Y-%m-%d %H:%M:%S') except ValueError: raise ValidationError('结束日期格式不正确') value.data = date_end
def used_if_not_synced(form, field): """Validator to prevent validation error on synced inputs. Synced inputs are disabled in the form and don't send any value. In that case, we disable validation from the input. """ if field.short_name in form.synced_fields: field.errors[:] = [] raise StopValidation()
def __call__(self, form, field): if field.data is None or isinstance( field.data, string_types) and not field.data.strip(): if self.message is None: message = field.gettext('') else: message = self.message field.errors[:] = [] raise StopValidation(message)
def __call__(self, form, field): if field.data: return if not field.raw_data or isinstance( field.raw_data[0], string_types) and not self.string_check(field.raw_data[0]): field.errors[:] = [] raise StopValidation()
def __call__(self, form, field): if field.data is None: if self.message is None: message = field.gettext('This field is required.') else: message = self.message field.errors[:] = [] raise StopValidation(message)
def __call__(self, form, field): other_field = form._fields.get(self.other_field_name) if other_field is None: raise Exception('no field named "%s" in form' % self.other_field_name) if other_field.data in self.other_field_values: super(DataRequiredIf, self).__call__(form, field) else: raise StopValidation()
def __call__(self, form, field): if field.data not in self.current_list: if self.message is None: message = field.gettext('Этот ключ.') else: message = self.message field.errors[:] = [] raise StopValidation(message)
def __call__(self, form, field): if not (isinstance(field.data, FileStorage) and field.data): return filename = field.data.filename.lower() if isinstance(self.upload_set, Iterable): if any(filename.endswith('.' + x) for x in self.upload_set): return raise StopValidation(self.message or field.gettext( 'File does not have an approved extension: {extensions}'). format(extensions=', '.join(self.upload_set))) if not self.upload_set.file_allowed(field.data, filename): raise StopValidation( self.message or field.gettext('File does not have an approved extension.'))
def __call__(self, form, field): emails = EMAIL_RE.findall(deobfuscate_email(field.data or '')) for email in emails: try: diagnosis = is_email(email, check_dns=True, diagnose=True) if diagnosis.code == 0: raise StopValidation(self.message) except (dns.resolver.Timeout, dns.resolver.NoNameservers): pass
def __call__(self, form, field): if not field.raw_data or not field.raw_data[0]: if self.message is None: message = field.gettext('{}は必須です'.format(field.label.text)) else: message = self.message field.errors[:] = [] raise StopValidation(message)
def __call__(self, form, field): try: diagnosis = is_email(field.data, check_dns=True, diagnose=True) except (dns.resolver.Timeout, dns.resolver.NoNameservers): return if diagnosis.code == 0: return else: raise StopValidation(self.message or _(diagnosis.message))
def validate_amount_max(self, value): try: if value.data: self.amount_max.data = Decimal(str(value.data)) BalanceKit.multiple_hundred(self.amount_max.data) else: self.amount_max.data = 0 except Exception as e: raise StopValidation("无效的 amount_max")
def _object_filter_get(form, field): try: if not field.data: return None target = query.filter_by(id=field.data, **kwargs).first() assert target is not None field.data = target except Exception: raise StopValidation(msg)
def _object_get(form, field): try: if not field.data: return None target = query.get(field.data) assert target is not None field.data = target except Exception: raise StopValidation(msg)
def __call__(self, form, field): if field.data is None or ( isinstance(field.data, string_types) and not field.data.strip() ): if self.message is None: self.message = field.gettext('This field is required.') field.errors[:] = [] raise StopValidation(self.message)