Home > OS >  How to prevent the empty value of an int type text box
How to prevent the empty value of an int type text box

Time:11-19

I have a form where I want the user to enter their first name, last name and age

But before anything, I want the user to not be able to leave the text boxes empty The problem I have is to get the age, my data must be of type int, but I don't know how the age text box is empty and gives an error to the user.

string firstName = tbxName.Text;
            string lastName = tbxFamily.Text;
            int age = Convert.ToInt32(tbxAge.Text);

            if (string.IsNullOrEmpty(tbxName.Text))
            {
                MessageBox.Show("لطفا نام کاربری خود را وارد کنید");
            }else if (string.IsNullOrEmpty(tbxFamily.Text))
            {
                MessageBox.Show("لطفا نام خانوادگی خود را وارد کنید");
            }else if (!string.IsNullOrEmpty(tbxAge.Text)) 
            { 
                MessageBox.Show("لطفا سن خود را بررسی کنید");
            }else
            {
                MessageBox.Show(" نام کاربری "   firstName   " نام خانوادگی "   lastName   " با سن "   age   " با موفقیت ثبت شد ");
            }

CodePudding user response:

Try below code

        string firstName = textBox1.Text;
        string lastName = textBox2.Text;
        int age;

        if (string.IsNullOrEmpty(textBox1.Text))
        {
            MessageBox.Show("لطفا نام کاربری خود را وارد کنید");
        }
        else if (string.IsNullOrEmpty(textBox2.Text))
        {
            MessageBox.Show("لطفا نام خانوادگی خود را وارد کنید");
        }
        else if (string.IsNullOrEmpty(textBox3.Text))
        {
            MessageBox.Show("لطفا سن خود را بررسی کنید");

        }
        else if (!string.IsNullOrEmpty(textBox3.Text))
        {
            if (textBox3.Text.All(char.IsDigit))
            {
                age = Convert.ToInt32(textBox3.Text);
            }
            else
            {
                MessageBox.Show("لطفا سن خود را بررسی کنید");
            }
        }
        else
        {
            MessageBox.Show(" نام کاربری "   firstName   " نام خانوادگی "   lastName   " با سن "   age   " با موفقیت ثبت شد ");
        }

CodePudding user response:

To awnser the title qeustion (assuming an "int type text box" is just a TextBox):

int num = string.IsNullOrWhiteSpace(textBox1.Text) ? -1 : Convert.ToInt32(textBox1);

This uses the ternary operator '?'

Be carfull Convert.ToInt32 can throw a exception if it can't convert. Use int.TryParse() instead

  • Related