1

FormItemSQLデータベースのテーブルに対して生成されます。生成されたFormItemsを調べているTableModificationと、興味深いオプションのパラメーターに気づいていますAction validationErrorNotifier

このパラメータをどのように使用し、どのようなメリットがありますか?

4

1 に答える 1

1

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
    )
) );
于 2012-10-12T22:17:40.850 に答える