如何在 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 调用后端。
在 python 中创建一个新控制器以验证增值税:
@http.route(['/vat/validator'], type='json', auth="public", website=True)
def vat_validator(self, vat):
# Your validation code here
return 'OK'
创建调用验证器的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
})
}
})();
设置一个表单验证JS方法是这样的:http://www.w3schools.com/js/js_validation.asp
在 Odoo 8 中,我使用自定义模块检查 VAT 是否是唯一的,使用 @api.constrains('vat', 'parent_id', 'company_id') 和当 vat 已经存在时发出警告。
但是在网站购买结账表格中,我让客户输入增值税。碰巧当重复输入增值税时,我收到 500 内部服务器错误,因为该网站没有提供引发警告的方法。
我应该如何实现警告、弹出窗口或类似内容以避免这些内部服务器错误?
在发送表单数据之前,单击提交按钮时,您可以使用 JSON-RPC 调用后端。
在 python 中创建一个新控制器以验证增值税:
@http.route(['/vat/validator'], type='json', auth="public", website=True) def vat_validator(self, vat): # Your validation code here return 'OK'
创建调用验证器的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 }) } })();
设置一个表单验证JS方法是这样的:http://www.w3schools.com/js/js_validation.asp