Python 2.7 如何控制字段的输入格式? 我使用Odoo 9,我注意到它没有输入格式的控制,例如,对于电子邮件字段,我可以输入任何字符,它会把它当作电子邮件地址。因此,我想知道如何控制字段的输入格式,例如电子邮件字段@和的存在是强制性的,或者合作伙伴代码字段VAT的存在是强制性的
template.xmlPython 2.7 如何控制字段的输入格式? 我使用Odoo 9,我注意到它没有输入格式的控制,例如,对于电子邮件字段,我可以输入任何字符,它会把它当作电子邮件地址。因此,我想知道如何控制字段的输入格式,例如电子邮件字段@和的存在是强制性的,或者合作伙伴代码字段VAT的存在是强制性的,python-2.7,odoo-9,Python 2.7,Odoo 9,template.xml <?xml version="1.0" encoding="utf-8"?> <openerp> <data> <template id="assets_backend" name="stock assets mask ext" inherit_id="web.assets_backend"> <xpath expr="." position="inside">
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<template id="assets_backend" name="stock assets mask ext" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<link rel="stylesheet" href="/field_mask/static/src/css/mask.css"/>
<script type="text/javascript" src="/field_mask/static/src/js/widgets.js"></script>
<script type="text/javascript" src="/field_mask/static/src/lib/jquery.inputmask.bundle.js"></script>
</xpath>
</template>
</data>
通过继承FieldChar,您可以使用inputMask创建自己的小部件,您可以在或中找到有用的mudules,请查看@api.constraints装饰程序。你要找的就是用那个装饰器创建你的检查方法。我已经用掩码创建了我的字段,但是没有区别。对不起,我以为是modifiedUse掩码而不是数据输入掩码。
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="res_partner_view_purchase_buttons_TVA_RC" model="ir.ui.view">
<field name="name">num.TVA.RC.res.partner.view.purchase.</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='website']" position="after">
<field name="CodeTVA" select="1" placeholder="Code TVA" widget="mask" data-inputmask-mask="9999999/A/A/A/999" />
<field name="RC" select="1" placeholder="Num RC"/>
</xpath>
</field>
</record>
</data>
function openerp_field_mask_widgets(instance) {
instance.web.form.FieldMask = instance.web.form.FieldChar.extend({
template : "FieldMask",
render_value: function() {
var show_value = this.get_value();
var field = this;
if (!field.get("effective_readonly")) {
field.$el.find('input').val(show_value);
var mask = field.node.attrs.mask;
field.$el.find('input').inputmask(mask);
} else {
field.$(".oe_form_char_content").text(show_value);
}
},
get_value: function() {
val = this.get('value');
if (!val) {
return '';
}
return val;
},
});
instance.web.form.widgets.add('mask', 'instance.web.form.FieldMask');
}
openerp.field_mask = function(openerp) {
openerp.field_mask = openerp.field_mask || {};
openerp_field_mask_widgets(openerp);
}