FormItem
SQLデータベースのテーブルに対して生成されます。生成されたFormItem
sを調べているTableModification
と、興味深いオプションのパラメーターに気づいていますAction validationErrorNotifier
。
このパラメータをどのように使用し、どのようなメリットがありますか?
FormItem
SQLデータベースのテーブルに対して生成されます。生成されたFormItem
sを調べているTableModification
と、興味深いオプションのパラメーターに気づいていますAction validationErrorNotifier
。
このパラメータをどのように使用し、どのようなメリットがありますか?
2つの電話番号フィールドを持つフォームがあるとします。Validation
また、2つの電話番号に一致する市外局番がない場合に、エラーが発生する後続の電話番号が必要だとします。validationErrorNotifier
パラメータをaと組み合わせて使用すると、両方の電話番号が有効な場合にbool
のみ後続を実行するようにできます。Validation
var phonesInvalid = false;
var stack = ControlStack.CreateWithControls(
myTableMod.GetPhone1FormItem( ..., validationErrorNotifier: () => phonesInvalid = true, validationList: myDataMod ).ToControl(),
myTableMod.GetPhone2FormItem( ..., validationErrorNotifier: () => phonesInvalid = true, validationList: myDataMod ).ToControl()
);
formItemBlock.Add( FormItem.Create(
"Phone Numbers",
stack,
validationGetter: control => new Validation(
( pbv, validator ) => {
if( !phonesInvalid && myTableMod.Phone1.AreaCode != myTableMod.Phone2.AreaCode )
validator.NoteErrorAndAddMessage( "Area codes must match." );
},
myDataMod
)
) );