def __call__(self, form: Form, field: Field) -> None: if (field.data is None or (isinstance(field.data, str) and not field.data.strip()) or (isinstance(field.data, (list, dict)) and not field.data)): if self.message is None: message = field.gettext("This field is required.") else: message = self.message field.errors[:] = [] raise validators.StopValidation(message)
def __call__(self, form: Form, field: Field) -> None: filters = self.datamodel.get_filters().add_filter( self.col_name, self.datamodel.FilterEqual, field.data) count, obj = self.datamodel.query(filters) if count > 0: # only test if Unique, if pk value is different on update. if not hasattr( form, "_id") or form._id != self.datamodel.get_keys(obj)[0]: if self.message is None: self.message = field.gettext(u"Already exists.") raise ValidationError(self.message)