Пакет: meta
Суперклассы: handle
Описывает валидацию свойства
Экземпляры этого класса содержат информацию о валидации свойства, которая задана в определении класса. Класс meta.Validation
позволяет вам получить следующую информацию программно для каждого свойства в определении класса:
Ограничение класса применилось к свойству
Требования размера значения свойства
Указатели на функцию, ссылающиеся на функции валидации, применились к значениям свойств
Для получения информации о валидации свойства см. Проверку значений свойств.
Sealed | true |
HandleCompatible | true |
Для получения информации об атрибутах класса см. Атрибуты класса.
tf = isValidValue(metaValidationObj,value)
Определите, допустимо ли значение. Этот метод возвращает true
, если value
является допустимым значением для свойства, валидация которого, описывают metaValidationObj
.
Входные параметры
Объект metaValidationObj
- The meta.Validation
для свойства
значение-
Потенциальное значение свойства, чтобы протестировать на валидность
Возвращаемое значение
tRUE-
Значение допустимо для этого свойства
ложь-
Значение не является допустимым значением для этого свойства
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
meta.FixedDimension
| meta.UnrestrictedDimension
| meta.property