如何在 Odoo 网站上发出警告消息

How can I raise a warning message in Odoo website

在 Odoo 8 中,我使用自定义模块检查 VAT 是否是唯一的,使用 @api.constrains('vat', 'parent_id', 'company_id') 和当 vat 已经存在时发出警告。

但是在网站购买结账表格中,我让客户输入增值税。碰巧当重复输入增值税时,我收到 500 内部服务器错误,因为该网站没有提供引发警告的方法。

我应该如何实现警告、弹出窗口或类似内容以避免这些内部服务器错误?

在发送表单数据之前,单击提交按钮时,您可以使用 JSON-RPC 调用后端。

  1. 在 python 中创建一个新控制器以验证增值税:

    @http.route(['/vat/validator'], type='json', auth="public", website=True)
    def vat_validator(self, vat):
        # Your validation code here
        return 'OK'
    
  2. 创建调用验证器的JS方法:

    (function() {
         'use strict';
    
        function vat_validator(vat) {
            openerp.jsonRpc('/vat/validator', 'call', {'vat': vat}).then(function(result) {
                // Your JS code here for checking backend validator result
            })        
        }
    })();
    
  3. 设置一个表单验证JS方法是这样的:http://www.w3schools.com/js/js_validation.asp