Я хочу добавить проверки данных, которые я добавил в клиентскую модель POS Odoo. На данный момент я создал следующий код:
screens.ClientListScreenWidget.include({
// Client save alerts
save_client_details: function (partner) {
if (!fields.custom_field) {
this.gui.show_popup('error', 'Missing custom_field!')
}
this._super(partner)
}
})
Если мое custom_field пусто, появляется всплывающее окно, и это нормально. Проблема в том, что даже если пользователь заполняет поле, всплывающее окно тоже появляется. Проверяя код Odoo, я обнаружил, что они проверяют, что пользователь заполнил в «полях» окна, с помощью следующего кода:
save_client_details: function(partner) {
var self = this;
var fields = {};
this.$('.client-details-contents .detail').each(function(idx,el){
if (self.integer_client_details.includes(el.name)){
var parsed_value = parseInt(el.value, 10);
if (isNaN(parsed_value)){
fields[el.name] = false;
}
else{
fields[el.name] = parsed_value
}
}
else{
fields[el.name] = el.value || false;
}
});
if (!fields.name) {
this.gui.show_popup('error',_t('A Customer Name Is Required'));
return;
}
Я не привык к javascript, поэтому я не управлял mimi c этот код для моего настраиваемого поля. Как я могу этого добиться? Как для этого должен выглядеть мой код?