继承视图 - 将属性 maxlength 添加到 char(在 web 中输入文本)字段

Inherit view - add attribute maxlength to char (input text in web) field

继承视图 - 将属性 maxlength 添加到 char(网络中的输入文本)字段 头像 维克多·托拉巴 2022 年 5 月 24 日 视图继承属性

您好,我正在尝试将属性 maxlength="100" 添加到产品表单的描述字段中。

我完成了继承并修改了 'placeholder' 值并向元素添加了新的 class 'border'。

但我无法定义 maxlength=10。

代码如下:

<odoo>
  <data>
    <record id="inherit_view_product_template_product_form" model="ir.ui.view">
      <field name="name">inherit_view_product_template_product.form</field>
      <field name="model">product.template</field>
      <field name="inherit_id" ref="product.product_template_form_view" />
      <field name="arch" type="xml">
        <xpath expr="//field[@name='name']" position="attributes">
          <field name="name" placeholder="Max length 10 chars">
            <attribute name="class" add="border" remove="" separator=" " />
            <attribute name="maxlength" add="10" remove="" separator=" " />
          </field>
        </xpath>
      </field>
    </record>
  </data>
</odoo>

我错过了什么?

感谢您的帮助。

您不能从 xml 开始,您可以做的是:

  1. 如果大小超过特定数量,则使用约束来显示错误消息,一旦您点击保存按钮,就会出现此错误:
@api.constrains('name')
def _check_name(self):
    for product in self:
        if len(product.name) > 10:
            raise ValidationError('The name of product must be less than or equal 10 characters')
  1. 您可以在字段级别设置大小属性:
 name = fields.Char('Name', index=True, required=True, translate=True, size=10)