Metadata Interface to Property Validation
For information on property validation, see Validate Property Values.
You can determine what validation applies to a property by accessing the validation metadata. Instances of the meta.Validation
class provide the following information about property validation.
Class requirement of the property specified as a
meta.class
objectSize requirements of the property value specified as an array of
meta.FixedDimension
andmeta.UnrestrictedDimension
objectsFunction handles referencing validation functions applied to property values specified as a cell array of function handles.
For example, the ValidationExample
class defines a property that must be an array of doubles that is 1-by-any number of elements and must be a real number that is greater than 10.
classdef ValidationExample properties Prop (1,:) double {mustBeReal, mustBeGreaterThan(Prop, 10)} = 200; end end
Access the meta.Validation
object from the property's meta.property
object. Get the validation information from the meta.Validation
object properties. Collection this information into a cell array.
Get the size information from the
Size
propertyGet the class name from the
Class
propertyGet a cell array of function handles for the validation functions from the
ValidatorFunctions
property.
mc = ?ValidationExample; mp = findobj(mc.PropertyList,'Name','Prop'); sz = mp.Validation.Size; len = length(sz); dim = cell(1:len); for k = 1:len switch class(sz(k)) case 'meta.FixedDimension' dim{k} = sz(k).Length; case 'meta.UnrestrictedDimension' dim{k} = ':'; end end dim{end+1} = mp.Validation.Class.Name; dim{end+1} = mp.Validation.ValidatorFunctions;
See Also
meta.property
| meta.Validation