Заполните все текстовые поля - PullRequest
0 голосов
/ 14 января 2011

Мне нужен код для регистрации.Человек, который хочет зарегистрироваться, должен заполнить все текстовые поля.я хочу, чтобы он работал с:

        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 голосов
/ 14 января 2011
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
}
0 голосов
/ 14 января 2011

Если у вас есть тонна текстовых элементов управления, вы можете сделать что-то вроде этого

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
            }
        }

}
0 голосов
/ 14 января 2011

Вы хотите сделать это контроль за контролем, чтобы вы могли выделить только неправильные (например):

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;
}

И то же самое для остальных.Приятной частью этого является то, что вы можете разделить проверочный код на вспомогательный класс, чтобы ваш код оставался читабельным.

0 голосов
/ 14 января 2011

Вы хотите проверить, есть ли текст внутри текстовых полей?

if(string.IsNullorEmpty(usernTb.Text))
{
     usernLbl.ForeColor = Color.Red;
}
0 голосов
/ 14 января 2011

Вы пытаетесь проверить ввод пользователя?Какой вид презентации вы используете?WPF?Windows Forms?ASP.с .NET Framework 4.0 используйте метод string.IsNullOrWhitespace.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...