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