如何使字段显示为必填项(通过着色)

How to make fields appear required (by colouring)

假设,我有一些必需的模块属性无法必需,因为会与某些操作(例如复制)发生冲突。这些属性是必需的,可以在创建过程中通过引发 ValidationErrors 轻松克服。

但是,我想调整 xml 文件表单视图中的字段参数,使这些字段以蓝色显示给用户(就像它们是必需的一样)。

PS

我已经尝试了以下所有方法

<field name="name" bgcolor="blue" fgcolor="red" color="black" colors="purple"/>

只是想看看它们是否有效。

我还重置了本地服务器并更新了模块本身,我想也许 xml 文件并不总是在服务器重置时重新加载。

任何关于表单视图中自定义着色字段的想法都会很有帮助。

您应该像这样将这些属性写入树标记:

<tree colors="black" bgcolor="yellow:name == other" string="Invoice">
    <field name="name" />
    <field name="other" />
</tree>

Example from odoo source

In .xml side <, >, <=, >=, & is not supported. So we need to use &lt;, &gt;, &lt;= &gt;=, and &amp;

您可以像这样将它们添加为 类:

<field name="name" class="red"/>

.red {
    background:red;
    /* additional css here */
}

XML "official nodes" 属性已验证,不能随意添加。在为 v6 开发 web_field_style 时,我不得不 patch .rng validation. I don't think that module has been ported to v8 or v9 (see OCA web repo),所以我认为你有 2 个选择:

  1. 移植模块
  2. 使用带有自定义 class 的包装器 div(是的,您可以将 HTML 写入表单视图),请参见下面的示例

    <字段名称="start_date" colspan="2" class="foo" />

在此示例中,字段上的 class "foo" 将被删除,但 div 和 class "bla" 的包装将保留在那里;)