FormItemSQLデータベースのテーブルに対して生成されます。生成されたFormItemsを調べているTableModificationと、興味深いオプションのパラメーターに気づいていますAction validationErrorNotifier。
このパラメータをどのように使用し、どのようなメリットがありますか?
FormItemSQLデータベースのテーブルに対して生成されます。生成されたFormItemsを調べている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
)
) );