WPF验证参考其他字段

时间:2018-04-15 04:39:57

标签: wpf validation

我正在验证用户输入:

Route::delete('/usuario/{fk_id_tid}/{ident}', function ($fk_id_tid, $ident) {

  Usuario::where('fk_id_tid', $fk_id_tid)->where('ident', $ident)->firstOrFail()->delete();
  return redirect('/usuarios');

});

现在使用以下类验证效果很好:

<Label x:Name="lbl_TMSownerType" Content="Conference Owner Type" />
<mah:SplitButton x:Name="cBox_ownerType/>
<Label x:Name="lbl_proxyUser" Content="Proxy User" />
<TextBox x:Name="txtBox_proxyUser"
Validation.Error="Validation_Error"
Text="{Binding UpdateSourceTrigger=PropertyChanged, Path=proxyUser,
ValidatesOnDataErrors=true, NotifyOnValidationError=true}"  />

现在,如果cBox_ownerType设置为“proxy”,我只需要验证txtBox_proxyUser字段的值。如何从验证类中包含此检查?

1 个答案:

答案 0 :(得分:0)

对于跨属性验证,我的选择是使用INotifyDataErrorInfo实现。 请参阅:https://social.technet.microsoft.com/wiki/contents/articles/19490.wpf-4-5-validating-data-in-using-the-inotifydataerrorinfo-interface.aspx

您可以通过反射获取属性和值并编写自定义验证,并可以重复使用它们。