meta.Validation クラス
パッケージ: meta
スーパークラス: handle
プロパティ検証の記述
説明
このクラスのインスタンスは、クラス定義で指定されたプロパティ検証に関する情報を含みます。meta.Validation
クラスでは、クラス定義内の各プロパティに関する次の情報をプログラムによって取得できます。
プロパティに適用されるクラスの制限
プロパティ値のサイズの要件
プロパティ値に適用される検証関数を参照する関数ハンドル
プロパティ検証の詳細については、プロパティ値の検証を参照してください。
プロパティ
メソッド
isValidValue
tf = isValidValue(metaValidationObj,value)
値が有効であるかどうかを判別します。このメソッドは、metaValidationObj
で検証を記述されているプロパティについて value
が有効な値である場合に true
を返します。
入力引数
metaValidationObj
- プロパティのmeta.Validation
オブジェクトvalue
- 有効性のテスト対象の取り得るプロパティ値。
戻り値
true
- 値はこのプロパティに対して有効な値です。false
- 値はこのプロパティに対して無効な値です。
validateValue
validateValue(metaValidationObj,value)
値が有効かどうかをテストして、無効の場合はエラーをスローします。このメソッドは、metaValidationObj
で検証を記述されているプロパティについて value
が無効な値である場合にエラーをスローします。エラー メッセージは、実際のオブジェクトのプロパティに値が割り当てられた場合にスローされるものと同じです。
入力引数
metaValidationObj
- プロパティのmeta.Validation
オブジェクトvalue
- 有効性のテスト対象の取り得るプロパティ値。
戻り値
なし
例
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 で導入