我正在尝试使用XML文件中的 attrs 创建一个选择字段,其中包含 widget =“ radio” 。对其应用widget =“ radio”不需要选择字段。但是当我删除单选控件时,选择字段在创建新记录时在表单视图中获得所需的效果。
这是我在此处申请所需的选择字段:
<field name="installments_calculation" widget="radio" options="{'horizontal': true}" attrs="{'required': [('repayment_method', '=', 'salary deduction')]}"/>
这是我的还款方式:
repayment_method = fields.Selection([('cash/bank', 'Cash/Bank'), ('salary deduction', 'Salary Deduction')])
我希望选择字段通过在XML文件中的条件上应用required属性而成为必填字段。对于带有widget =“ radio”的选择字段,此行为是否正常?或者我做错了什么?如果正常,如何获取widget =“ radio”所需的选择字段?
答案 0 :(得分:2)
您的代码应该可以正常工作,但是如果此问题与窗口小部件有关,请在Odoo Github中报告nickname
>>
目前,只需使用issue
即可获得相同的行为
api.constrains
答案 1 :(得分:2)
我想出了一个解决客户端的方法,这是我正在寻找的方法:
odoo.define('mymodule.web.radio.required', function(require){
var relational_fields = require('web.relational_fields');
relational_fields.FieldRadio.include({
isSet: function () {
return (this.mode === 'edit')? ($(this.$el).find("[checked='true']")).length > 0: this.value;
},
});
});