Пакет: meta
Суперклассы: handle
Описывает валидацию свойства
Образцы этого класса содержат информацию о валидации свойств, заданную в определении класса. The meta.Validation позволяет вам получить следующую информацию программно для каждого свойства в определении класса:
Ограничение класса, примененное к свойству
Требования к размеру значения свойства
Указатели на функцию валидации, примененные к значениям свойств
Для получения информации о валидации свойств см. Раздел «Валидация значений свойств».
Sealed | true |
HandleCompatible | true |
Для получения информации об атрибутах класса см. раздел «Атрибуты класса».
tf = isValidValue(metaValidationObj,value)
Определите, является ли значение допустимым. Этот метод возвращает true если value является допустимым значением для свойства, валидация которого описывается следующим образом metaValidationObj.
Входные параметры
metaValidationObj - The meta.Validation объект для свойства
value - Значение потенциального свойства для проверки на валидность
Возвращаемое значение
true - Значение допустимо для этого свойства
false - Значение не является допустимым значением для этого свойства
validateValue(metaValidationObj,value)
Проверьте, является ли значение допустимым, и выдайте ошибку, если она отсутствует. Этот метод выдает ошибку, если value не является допустимым значением для свойства, валидация которого описывается metaValidationObj. Сообщение об ошибке аналогично выданному, если значение назначено свойству фактического объекта.
Входные параметры
metaValidationObj - The meta.Validation объект для свойства
value - Значение потенциального свойства для проверки на валидность
Возвращаемое значение
ничего
The ValidationExample класс задает свойство, которое использовало валидацию.
classdef ValidationExample properties Prop (1,:) double {mustBeReal, mustBeGreaterThan(Prop, 10)} = 200; end end
The getErrorMessage функция определяет, является ли потенциальное значение допустимым, и отображает сообщение об ошибке, указывающее причину недопустимых значений.
function getErrorMessage(possibleValue) mc = ?ValidationExample; mp = findobj(mc.PropertyList,'Name','Prop'); mv = mp.Validation; if ~mv.isValidValue(possibleValue) try mv.validateValue(possibleValue) catch errorMessage fprintf('This value is not valid because: %s\n',... errorMessage.message); end else fprintf('%d is OK\n',possibleValue) end end
meta.FixedDimension | meta.property | meta.UnrestrictedDimension