Пакет: мета
Суперклассы: handle
Описание проверки свойств
Экземпляры этого класса содержат информацию о проверке свойств, указанную в определении класса. meta.Validation класс позволяет получить следующую информацию программно для каждого свойства в определении класса:
Ограничение класса, примененное к свойству
Требования к размеру значения свойства
Функция обрабатывает ссылки на функции проверки, применяемые к значениям свойств
Сведения о проверке свойств см. в разделе Проверка значений свойств.
tf = isValidValue(metaValidationObj,value)
Определите, является ли значение допустимым. Этот метод возвращает true если value является допустимым значением для свойства, проверка которого описана metaValidationObj.
Входные аргументы
metaValidationObj- meta.Validation объект для свойства
value - Потенциальное значение свойства для проверки на достоверность
Возвращаемое значение
true - Значение допустимо для этого свойства
false - Значение не является допустимым значением для этого свойства
validateValue(metaValidationObj,value)
Проверьте, является ли значение допустимым, и выдайте ошибку, если она отсутствует. Этот метод выдает ошибку, если value не является допустимым значением для свойства, проверка которого описана metaValidationObj. Сообщение об ошибке совпадает с выданным, если значение присвоено свойству фактического объекта.
Входные аргументы
metaValidationObj- meta.Validation объект для свойства
value - Потенциальное значение свойства для проверки на достоверность
Возвращаемое значение
ничего
ValidationExample класс определяет свойство, использовавшее проверку.
classdef ValidationExample properties Prop (1,:) double {mustBeReal, mustBeGreaterThan(Prop, 10)} = 200; end end
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