0

如果密码框为空。它显示Passwords created Successfully. 我不知道我在这里做错了什么。但是,如果输入的密码不匹配,如果条件按代码工作。验证 null 时出错。

代码;

        void savePassword(object sender, RoutedEventArgs e)
        {
            string password1 = createPassword.Password;
            string password2 = repeatPassword.Password;
            if (password1 != null || password2 != null)
            {
                if (password1 == password2)
                {
                    MessageBox.Show("Password Created Successfully");
                }
                else
                {
                    MessageBox.Show("Passwords did not match.");
                }
            }
            else
            {
                MessageBox.Show("Both fields are required");
            }
        }
4

3 回答 3

2

您可以检查 PasswordBox 是否使用 string.IsNullOrWhiteSpace 或 string.IsNullOrEmpty 方法正确填充。此外,您可能希望删除 != 因为您的逻辑会在其中一个 PasswordBoxes 有内容时立即验证。

这是一个示例:

//Is true only if both passwords have content
if(!string.IsNullOrWhiteSpace(password1) && !string.IsNullOrWhiteSpace(password2))
于 2013-09-04T07:14:30.360 回答
0

尝试这个

if (password1.Length == 0 || password2.Length == 0)
于 2013-09-04T06:41:40.823 回答
0

您必须检查密码是否为空或为空

尝试这个

 if (!string.IsNullOrEmpty(password1) &&!string.IsNullOrEmpty(password2))
            {
                MessageBox.Show("Password Created Successfully");
            }
            else
            {
                MessageBox.Show("Passwords did not match.");
            }
于 2013-09-04T07:21:08.070 回答