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