如何处理空或无效的文本框输入

本文关键字:无效 文本 输入 何处理 处理 | 更新日期: 2023-09-27 18:26:41

我试图防止用户在文本框中不输入值,以防止代码执行过程中出错。

文本框值被分配一个默认值,如下所示:

        wrkTbx.Text = "00 : 00 : 00 : 000";
        restTbx.Text = "00 : 00 : 00 : 000";

这就是我试图处理用户在文本框中不输入值的方式,但代码仍然运行,并且没有显示消息框来表示没有输入。

有人知道如何处理空输入吗?因为下面的代码不起作用。

 //Assign text box time string to string variables.
    //check if string is empty.
    if (String.IsNullOrEmpty(wrkTbx.Text) && String.IsNullOrEmpty(restTbx.Text))
    {
        MessageBox.Show("Please enter a work/rest interval");
    }
    else
    {
        rstString = restTbx.Text;
        wrkString = wrkTbx.Text;
    }

如何处理空或无效的文本框输入

Brian J per your request

你理解"空"answers"零"的意思吗。。。?

也许您需要将您的逻辑更改为if(wrkTbx.Text==您应该分配给属性、常量或变量的默认值,然后将&&条件更改为||,这将是更可行的

在类中声明一个常量字符串,例如

    public const string constWrkTxt = "00 : 00 : 00 : 000";
    public const string constRestTxt = "00 : 00 : 00 : 000";

在您的方法中,请检查以下

 //check if wrkTbx.Text == constWrkTxt || constRestTxt
    if (wrkTbx.Text == constWrkTxt) || restTbx.Text == constRestTxt ))
    {
        MessageBox.Show("Please enter a work/rest interval");
        wrkTbx.Focus();
        //or to stop the flow / continuation use return;
    }
    else
    {
        rstString = restTbx.Text;
        wrkString = wrkTbx.Text;
    }

根据您声明rstString和wrkString的方式和位置,当条件通过

时,您可以删除并仅使用文本框中的值