我已经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
)
) );