Skip to content

Cleaning and validating against another field in a nested object array #500

@boltonag

Description

@boltonag

In the following example I wish to set a field (defaultDose) to null if another field (context) within the same nested array has a particular value ('P') and invalidate the schema if the 'defaultDose' is not entered and the context is not 'P' - see code snippet.
dosage: [Object],
'dosage.$.context': {
type: String,
label: 'Context',
},
'dosage.$.defaultDose': {
type: Number,
label: 'Default dose',
optional: true,
autoValue() {
console.log(this.field('dosage.$.context'));
if (this.field('dosage.$.context').value === 'P' || this.value === '') return null;
},
custom() {
if (this.value === null && this.field('dosage.$.context').value !== 'P') {
return 'missing';
}
},
},

log returns: { operator: null, value: undefined, isSet: false }
Is there any way to access another field in the same instance of the object array in these functions?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions