diff --git a/openbis_ng_ui/src/js/components/types/objectType/ObjectTypeHandlerValidate.js b/openbis_ng_ui/src/js/components/types/objectType/ObjectTypeHandlerValidate.js index 64c588ec45af99a7b140035cd22fe76b433f9ced..4a2ad1c417289bbee32b1a3f07013d002ed56ab6 100644 --- a/openbis_ng_ui/src/js/components/types/objectType/ObjectTypeHandlerValidate.js +++ b/openbis_ng_ui/src/js/components/types/objectType/ObjectTypeHandlerValidate.js @@ -145,10 +145,18 @@ export default class ObjectTypeHandlerValidate { ) } - const wasMandatory = property.original ? property.original.mandatory : false - const isMandatory = property.mandatory - - if (property.usages > 0 && !wasMandatory && isMandatory) { + const typeIsUsed = type.usages > 0 + const propertyIsNew = !property.original + const propertyIsMandatory = property.mandatory + const propertyWasMandatory = property.original + ? property.original.mandatory + : false + + if ( + typeIsUsed && + propertyIsMandatory && + (propertyIsNew || !propertyWasMandatory) + ) { this.validateNotEmpty( 'Initial Value', 'initialValueForExistingEntities', diff --git a/openbis_ng_ui/src/js/components/types/objectType/ObjectTypeParametersProperty.jsx b/openbis_ng_ui/src/js/components/types/objectType/ObjectTypeParametersProperty.jsx index 7aae1e80048180ab35343f8db9a04cce27ea635c..6d6a6ad7f86de7bfa7a73fab643af9a99184b3d5 100644 --- a/openbis_ng_ui/src/js/components/types/objectType/ObjectTypeParametersProperty.jsx +++ b/openbis_ng_ui/src/js/components/types/objectType/ObjectTypeParametersProperty.jsx @@ -468,12 +468,20 @@ class ObjectTypeParametersProperty extends React.PureComponent { } renderInitialValue(property) { - const { classes } = this.props - - const wasMandatory = property.original ? property.original.mandatory : false - const isMandatory = property.mandatory - - if (property.usages > 0 && !wasMandatory && isMandatory) { + const { classes, type } = this.props + + const typeIsUsed = type.usages > 0 + const propertyIsNew = !property.original + const propertyIsMandatory = property.mandatory + const propertyWasMandatory = property.original + ? property.original.mandatory + : false + + if ( + typeIsUsed && + propertyIsMandatory && + (propertyIsNew || !propertyWasMandatory) + ) { return ( <div className={classes.field}> <TextField