我已经FormItem针对我的 SQL 数据库中的表生成了 s。我正在查看FormItem为 my 生成的 s ,TableModification并注意到一个有趣的可选参数Action validationErrorNotifier。
如何使用这个参数,它带来什么好处?
我已经FormItem针对我的 SQL 数据库中的表生成了 s。我正在查看FormItem为 my 生成的 s ,TableModification并注意到一个有趣的可选参数Action validationErrorNotifier。
如何使用这个参数,它带来什么好处?
假设您有一个包含两个电话号码字段的表单。假设您希望Validation在两个电话号码的区号不匹配时产生错误。您可以将该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
)
) );