填写所有文本框

时间:2011-01-14 15:04:26

标签: c# login

我需要一个代码,用于注册表格。 想要注册的人需要填写所有文本框。 我希望它能与之合作:

        if (..........)
        {
            usernLbl.ForeColor = Color.Red;
            nameLbl.ForeColor = Color.Red;
            ageLbl.ForeColor = Color.Red;
            countryLbl.ForeColor = Color.Red;
            passwordLbl.ForeColor = Color.Red;
        }
        else
        {
        // save xml 
        }

TNX

我解决了这个问题:

        if (string.IsNullOrEmpty(ageTxb.Text))
        {
            ageLbl.ForeColor = Color.Red; 
        }
        if (string.IsNullOrEmpty(usernameTxb.Text))
        {
            usernLbl.ForeColor = Color.Red;
        }
        if (string.IsNullOrEmpty(nameTxb.Text))
        {
            nameLbl.ForeColor = Color.Red;
        }
        if (string.IsNullOrEmpty(countryTxb.Text))
        {
            countryLbl.ForeColor = Color.Red;
        }
        if (string.IsNullOrEmpty(passwordTxb.Text))
        {
            passwordLbl.ForeColor = Color.Red;
        } 

5 个答案:

答案 0 :(得分:0)

您是否尝试验证用户输入?您使用的是哪种演示文稿? WPF? Windows窗体? ASP.NET?

无论如何,如果您想检查每个文本框是否已填满,请尝试使用string.IsNullOrEmpty(string)

bool validated = Validate(ageTB, nameTB, countryTB, etc);
if (validated)
{
    // Save XML
}
else
{
    // Show error
}

private bool Validate(params TextBox[] textboxes)
{
    foreach (TextBox tb in textboxes)
    {
        if (string.IsNullOrEmpty(tb.Text))
            return false;
    }

    return true;
}

编辑:如果您使用的是.NET Framework 4.0,请使用string.IsNullOrWhitespace方法。

答案 1 :(得分:0)

您希望通过控件进行控制,以便只突出显示不正确的控件(例如):

usernLbl.ForeColor = ValidateUsername(usrnTxtbox.Text);
nameLbl.ForeColor = ValidateName(nameTxtbox.Text);

public Color ValidateUsername(string username)
{
    if(<first BAD condition>)
    {
        return Color.Red;
    }
    //etc.
    return Color.Black;
}

其余部分也一样。其中很好的部分是您可以将验证代码分成一个帮助程序类,以便您的代码保持可读性。

答案 2 :(得分:0)

您想检查文本框中是否有文字?

if(string.IsNullorEmpty(usernTb.Text))
{
     usernLbl.ForeColor = Color.Red;
}

答案 3 :(得分:0)

如果你有大量的文字控件,你可以做这样的事情

foreach (Control c in parent.Controls)
{
    var tb = c as TextBox;
        if (tb != null)
        {
        //do your validation    
            if (string.IsNullOrEmpty(tb.Text))
            {
                tb.ForeColor = Color.Red
            }
        }

}

答案 4 :(得分:0)

private static bool NotEmpty(params TextBox[] textBoxes)
{
    bool valid = true;
    foreach(var box in textBoxes)
    {
        if (String.IsNullOrEmpty(box.Text))
        {
            box.ForeColor = Color.Red;
            valid = false;
        }
    }
    return valid;
}

所以样本调用将是

if (NotEmpty(textBox1, textBox2, textBox3)
{
    //save xml
}