Example #1
0
    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)
Example #2
0
 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)