meta.Validation class

Пакет: meta
Суперклассы: handle

Описывает валидацию свойства

Описание

Экземпляры этого класса содержат информацию о валидации свойства, которая задана в определении класса. meta.Validation класс позволяет вам получить следующую информацию программно для каждого свойства в определении класса:

  • Ограничение класса применилось к свойству

  • Требования размера значения свойства

  • Указатели на функцию, ссылающиеся на функции валидации, применились к значениям свойств

Для получения информации о валидации свойства см. Проверку значений свойств.

Свойства

развернуть все

Ограничение класса применилось к свойству в виде meta.class объект. Если определение свойства не содержит ограничение класса, MATLAB® устанавливает это свойство на meta.class object 0 на 0.

Атрибуты:

GetAccesspublic
SetAccessprivate

Размерности значения свойства в виде разнородного массива типа meta.ArrayDimension или массивы типа meta.FixedDimension или meta.UnrestrictedDimension. Если определение свойства не задает размерности для свойства, MATLAB устанавливает это свойство на meta.ArrayDimension 1 на 0 массив.

Атрибуты:

GetAccesspublic
SetAccessprivate

Валидация функционирует в виде cell-массива указателей на функцию, ссылающегося на каждую функцию валидации. Если свойство не использует функции валидации, MATLAB устанавливает это свойство на массив ячеек 1 на 0.

Атрибуты:

GetAccesspublic
SetAccessprivate

Атрибуты

Sealedtrue
HandleCompatibletrue

Для получения информации об атрибутах класса см. Атрибуты класса.

Методы

isValidValue

tf = isValidValue(metaValidationObj,value)

Определите, допустимо ли значение. Этот метод возвращает true если value допустимое значение для свойства, валидация которого, описывают metaValidationObj.

Входные параметры

  • metaValidationObj - meta.Validation объект для свойства

  • value - Потенциальное значение свойства, чтобы протестировать на валидность

Возвращаемое значение

  • true - Значение допустимо для этого свойства

  • false - Значение не является допустимым значением для этого свойства

validateValue

validateValue(metaValidationObj,value)

Протестируйте, если значение допустимо и ошибка броска, если это не. Этот метод выдает ошибку если value не допустимое значение для свойства, валидация которого, описывают metaValidationObj. Сообщение об ошибке совпадает с выданным, если значение присвоено свойству фактического объекта.

Входные параметры

  • metaValidationObj - meta.Validation объект для свойства

  • value - Потенциальное значение свойства, чтобы протестировать на валидность

Возвращаемое значение

'none'

Примеры

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
Введенный в R2018a