meta. Класс валидации

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

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

Описание

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

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

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

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

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

Свойства

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

Ограничение класса применилось к свойству, заданному как объект meta.class. Если определение свойства не содержит ограничение класса, MATLAB® устанавливает это свойство на объект meta.class 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 - The meta.Validation для свойства

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

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

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

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

validateValue

validateValue(metaValidationObj,value)

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

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

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

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

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

'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