meta.Validation class

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

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

Описание

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

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

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

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

Для получения информации о валидации свойств см. Раздел «Валидация значений свойств».

Свойства

расширить все

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

Атрибуты:

GetAccesspublic
SetAccessprivate

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

Атрибуты:

GetAccesspublic
SetAccessprivate

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

Атрибуты:

GetAccesspublic
SetAccessprivate

Признаки

Sealedtrue
HandleCompatibletrue

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

Методы

isValidValue

tf = isValidValue(metaValidationObj,value)

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

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

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

  • value - Значение потенциального свойства для проверки на валидность

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

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

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

validateValue

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