我是odoo 11的新手,我想显示一个自定义错误弹出窗口,但是我希望将它显示为当我们错过必填字段时显示的弹出错误,而ValidationError无法做到这一点。 那可能吗 ?如果没有,是否可以使用JavaScript api进行甜蜜警报等通知?
答案 0 :(得分:1)
您可以按照以下方法。
@api.constrains('field_name')
def _check_field_name(self):
for record in self:
if not record.field_name: # or your conditions
raise ValidationError(_('Error COntext'))
首先,您无法在不填写必填字段的情况下保存表单。如果你试图保存,你会得到一个警告,但不能保存。
答案 1 :(得分:0)
是的,您可以使用 ValidationError 发出警报,但为此您需要覆盖create和write方法并需要检查此字段的值,如果它为空,则可以引发ValidationError警报。 / p>
答案 2 :(得分:0)
你无法通过validationerror实现这一点,因为框架不会传递值直到它满足为止,因此创建&写方法不会被调用。
您需要在JavaScript中进行更改根据需要改变行为。
答案 3 :(得分:0)
您可以使用以下javascript代码显示与错过必填字段时相同的错误:
this.do_warn(_t("The following fields are invalid :"), "msg");
您也可以使用SweetAlert
,只需将javascript添加到您的模块中。
答案 4 :(得分:0)
在Odoo 11上,如果你想
通过Python引发错误
# Import the exceptions from odoo
from odoo import exceptions
# Then somewhere in your code
raise exceptions.ValidationError('Your error message here!')
# Or more generic error by
raise exceptions.UserError('This is not a ValidationError.')
通过Javascript进行do_warn(通知)
// Maybe inside your Widget
var self = this;
self.do_warn('Your title', 'Your message')