none
关于Password两次是否一致的验证 RRS feed

  • 问题

  • 我想做一个验证,在第二次密码输入和第一次不一致的时候,提示错误。下面是我参考ToolKit做的一个密码验证,如果不符合就在TextBox右边弹出红色的错误提示框。我想把第二次密码输入不一致也做成这样。不知道怎么做,请大家帮我。

    C#代码:

    private string _password;
    
    
    
            [RegularExpression(@"^[a-zA-Z0-9]{6,20}$", ErrorMessage = "密码必须由6-20个字母或者数字")]
    
    
    
            [Display(Name = "Password", Description = "密码必须由6-20个字母或者数字组成")]
    
    
    
            public string Password
    
    
    
            {
    
    
    
                get
    
    
    
                {
    
    
    
                    return _password;
    
    
    
                }
    
    
    
                set
    
    
    
                {
    
    
    
                    if (value != _password)
    
    
    
                    {
    
    
    
                        Validator.ValidateProperty(value,new ValidationContext(this, null, null) { MemberName = "Password" });
    
    
    
                        _password = value;
    
    
    
                        OnPropertyChanged("Password");
    
    
    
                    }
    
    
    
                }
    
    
    
            }
    
    
    
    
    下面XAML代码:
    
    
    
    
    <PasswordBox x:Name="passbox" Password="{Binding Password, Mode=TwoWay,  ValidatesOnExceptions=true, NotifyOnValidationError=true}" HorizontalAlignment="Right" Margin="0,7,2,11" Grid.Column="1" Grid.Row="2" Width="244" />
    
    
    
    
    
    
    
      <dataInput:DescriptionViewer Margin="1,8,0,17" Target="{Binding ElementName=passbox}" Grid.Row="2" Grid.Column="2" HorizontalAlignment="Left" Width="15" />
    
    
    
    
    
    
    
    


     

    2010年3月30日 4:42

答案

  • 你好,

         你可以看一下RIA Serivce生成项目里的Authenticate Serivce看它是怎么做的。

         在RegistrationForm.xaml.cs中你能找到相关代码。

         应该是一旦password confirm box失去焦点了, 就会进行一次validate.

    2010年3月31日 6:46