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

时间:2014-10-15 16:55:43

标签: c# validation windows-phone-8 error-handling

我正在尝试阻止用户在文本框中输入任何值,以防止在代码执行期间出错。

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

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

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

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

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

    }

1 个答案:

答案 0 :(得分:0)

Brian J per your request

你了解Empty和Null的含义吗?

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

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

    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的方式和位置,您可以消除并在条件通过时使用文本框中的值