Skip to main content

system.mes.location.validateProperty

Description

Validates the specified parameters for a Location Properties record and returns any validation errors. This only checks if the location property object can be saved based on the attributes given.

Syntax

system.mes.location.validateProperty(**property_data)

Parameters

ParameterTypeDescription
nameStringThe name of the location property.
descriptionStringA description of the location property.
dataTypeStringThe data type of the property (e.g., Integer, String, Float).
lowLimitDoubleThe minimum value allowed for a numerical property.
highLimitDoubleThe maximum value allowed for a numerical property.
formatStringThe format of the property, if applicable.
unitOfMeasureIdString (ULID)The ULID of the unit of measure for this property.
unitOfMeasureNameStringThe name of the unit of measure for the property. For display purposes only.
unitOfMeasureSymbolStringThe symbol of the unit of measure for the property. For display purposes only.
optionsStringList of possible values for the property (e.g., "[option1, option2]").
nullableBooleanDefines if the property can accept null values.
defaultValueMixedThe default value assigned to the property if none is provided. The type is mixed as it depends on what dataType is.
idString (ULID)The ULID of the location property (optional, for updating an existing property).
notesStringNotes related to the location property.
enabledBooleanIndicates if the property is active and enabled.
spare1StringAdditional field for user-defined context.
spare2StringAdditional field for user-defined context.
spare3StringAdditional field for user-defined context.

Returns

Returns a JSON object where keys are field names and values are lists of validation violation messages.

Code Examples

# Generate the object structure for a new property object
new_property = system.mes.location.newProperty()

# Define property attributes
new_property['name'] = 'Temperature'
new_property['dataType'] = 'Float'
new_property['lowLimit'] = -20
new_property['highLimit'] = 50
new_property['unitOfMeasureId'] = '01JAP8RJBN-4VYZUKE1-LY2QHV8X'
new_property['nullable'] = False
new_property['defaultValue'] = 20.0
# (You can continue setting other properties as needed here)

# Validate location property parameters
validation_errors = system.mes.location.validateProperty(**new_property)

if len(validation_errors) > 0:
print('Validation errors found:', validation_errors)
else:
print('Location property parameters are valid.')