gpt4 book ai didi

python - Odoo 10 - 验证合作伙伴的电子邮件

转载 作者:太空宇宙 更新时间:2023-11-04 02:14:37 25 4
gpt4 key购买 nike

这是我验证电子邮件的功能:

# Vérifie que l'adresse mail du partner soit valide
@api.onchange('email')
def adressmailtoverify(self):

for rec in self:

address_to_verify = rec.email
match = re.match("^[a-zA-Z0-9_\-]+(\.[a-zA-Z0-9_\-]+)*@[a-zA-Z0-9_\-]+"
"(\.[a-zA-Z0-9_\-]+)*(\.[a-zA-Z]{2,6})$", address_to_verify)
if not match:
raise ValidationError("Problème de synthaxe adresse mail, merci de modifier")
else:
pass

这里是我的错误:

Odoo Server Error

Traceback (most recent call last):
File "/var/lib/odoo/odoo/odoo/odoo/http.py", line 640, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/var/lib/odoo/odoo/odoo/odoo/http.py", line 677, in dispatch
result = self._call_function(**self.params)
File "/var/lib/odoo/odoo/odoo/odoo/http.py", line 333, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/var/lib/odoo/odoo/odoo/odoo/service/model.py", line 101, in wrapper
return f(dbname, *args, **kwargs)
File "/var/lib/odoo/odoo/odoo/odoo/http.py", line 326, in checked_call
result = self.endpoint(*a, **kw)
File "/var/lib/odoo/odoo/odoo/odoo/http.py", line 935, in __call__
return self.method(*args, **kw)
File "/var/lib/odoo/odoo/odoo/odoo/http.py", line 506, in response_wrap
response = f(*args, **kw)
File "/usr/lib/python2.7/dist-packages/odoo/addons/web/controllers/main.py", line 885, in call_kw
return self._call_kw(model, method, args, kwargs)
File "/usr/lib/python2.7/dist-packages/odoo/addons/web/controllers/main.py", line 877, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "/var/lib/odoo/odoo/odoo/odoo/api.py", line 689, in call_kw
return call_kw_multi(method, model, args, kwargs)
File "/var/lib/odoo/odoo/odoo/odoo/api.py", line 680, in call_kw_multi
result = method(recs, *args, **kwargs)
File "/var/lib/odoo/horanet/horanet_go/horanet_web/models/tool_field_dirty.py", line 59, in onchange
res = super(ToolFieldDirty, self).onchange(values, field_name, field_onchange)
File "/var/lib/odoo/odoo/odoo/odoo/models.py", line 5494, in onchange
record._onchange_eval(name, field_onchange[name], result)
File "/var/lib/odoo/odoo/odoo/odoo/models.py", line 5392, in _onchange_eval
method_res = method(self)
File "/var/lib/odoo/projects/Odoo/parthenay_tpa_mediatheque/models/inherited_partner.py", line 127, in adressmailtoverify
"(\.[a-zA-Z0-9_\-]+)*(\.[a-zA-Z]{2,6})$", address_to_verify)
File "/usr/lib/python2.7/re.py", line 141, in match
return _compile(pattern, flags).match(string)
TypeError: expected string or buffer

清除电子邮件时出现此错误。

我的第二个担心是,即使我的异常被抛出,我的合作伙伴也会注册。你能帮助我吗 ?谢谢

最佳答案

更改 for 行并改用它:

for rec in self.filtered("email"):

问题的发生是因为 Odoo 中的值为 False,并且您不能将正则表达式应用于 bool

关于python - Odoo 10 - 验证合作伙伴的电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52925393/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com