Python 2.7 如何控制字段的输入格式? 我使用Odoo 9,我注意到它没有输入格式的控制,例如,对于电子邮件字段,我可以输入任何字符,它会把它当作电子邮件地址。因此,我想知道如何控制字段的输入格式,例如电子邮件字段@和的存在是强制性的,或者合作伙伴代码字段VAT的存在是强制性的

Python 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">

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">
            <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);
 }