如何确定用户是否输入了错误的输入?

时间:2012-01-24 18:28:21

标签: c# wpf validation idataerrorinfo

我正在寻找此网站进行数据验证:

http://codeblitz.wordpress.com/2009/05/08/wpf-validation-made-easy-with-idataerrorinfo/

这听起来很棒。但是例如我意识到你只能在输入正确时验证数据,如果有一种方法可以在输入不正确时设置信息。

即。如果我有一个属性Age where是一个int,我想自定义错误消息,以显示用户在textBox中写“a”的位置。

我的意思是,Age属性必须验证两件事,输入是正确的和范围。

2 个答案:

答案 0 :(得分:1)

假设您正在使用数据绑定,则需要使用验证规则验证输入:

<TextBox Name="tb_act_name"
                         Style="{StaticResource formTextBox}"
                         Validation.ErrorTemplate="{StaticResource validationTemplate}">
                  <TextBox.Text>
                    <Binding Path="act_name"
                             Mode="TwoWay"
                             UpdateSourceTrigger="PropertyChanged"
                             ValidatesOnDataErrors="True">
                      <Binding.ValidationRules>
                        <local:fieldNullOrEmpty ErrorMessage="Enter Client Name" />
                      </Binding.ValidationRules>
                    </Binding>
                  </TextBox.Text>
                </TextBox>

您只需在Binding.ValidationRules部分添加更多规则。这是一个非常大的主题,因此您可能希望查看MSDN WPF验证以获得更多帮助。

希望这能指出你正确的方向。

答案 1 :(得分:0)

您可以尝试Karl Shifflett's approach

或者您也可以添加(查看WPF Validation for the whole form):

<TextBox.Text>
 <Binding Path="Age" ValidatesOnDataErrors="True">
  <Binding.ValidationRules>
    <rules:NumericRule />
  </Binding.ValidationRules>
</Binding>
</TextBox.Text>