在我的项目中,我有一个具有二进制属性(形状)的实体。如果用户在表单中为该形状属性上传了错误扩展名的文件,我想提出一条消息(validationError)。我该怎么做?
到目前为止我已经这样做了,但也没有工作
shape = fields.Binary(string='Shape', required=True, attachment=True)
shape_filename = fields.Char()
def _check_file_extension(self, name, ext):
if type(name) != bool:
if not str(name).endswith(ext):
return False
return True
return False
@api.onchange('shape_filename')
def _onchange_shape(self):
if self.id and not self._check_file_extension(self.shape_filename,
'.zip'):
raise ValidationError("Shape must be a .zip file ")
并且在视图中
<field name="shape" widget="download_link" filename="shape_filename" options="{'filename': 'shape_filename'}"/>
<field name="shape_filename" readonly="1" invisible="1" force_save="1"/>