如果两个文本框为空,则显示错误消息

时间:2017-03-08 10:35:26

标签: c# uwp-xaml

我有两个文本框,如果用户没有输入任何信息并且它们为空,我想显示错误消息。 我有这个代码(但只适用于一个):

if (String.IsNullOrEmpty(textBox1.Text))
{
    var dialog = new MessageDialog("Error");
    await dialog.ShowAsync();
}

我试过这个,但它不起作用:

if (String.IsNullOrEmpty(textBox1.Text || textBox2.Text))
{
    var dialog = new MessageDialog("Error");
    await dialog.ShowAsync();
}

4 个答案:

答案 0 :(得分:4)

此条件对||运算符无效,因为||运算符期望boolean作为其操作数。

String.IsNullOrEmpty(textBox1.Text || textBox2.Text)

所以这应该抛出错误说

  

运营商' ||'不能应用于' string'类型的操作数和'字符串'

如果要在任何文本框为空时显示错误消息

String.IsNullOrEmpty(textBox1.Text) || String.IsNullOrEmpty(textBox2.Text)

如果要在两个文本框都为空时显示错误消息

String.IsNullOrEmpty(textBox1.Text) && String.IsNullOrEmpty(textBox2.Text)

答案 1 :(得分:2)

性能较差但有趣的是其他思维方式(并且可能会帮助您以相同的方式解决其他非字符串相关任务)您可以将文本框连接(添加)并检查null或Empty。如果两者都是空的,它将执行if块,如果1或两者都有任何文本,它将不会进入if块

if (String.IsNullOrEmpty(textbox1.Text + textbox2.Text))
{
    //Stuff
}

这使用逻辑门思考......在本例中为“OR”

Bedtime reading

答案 2 :(得分:1)

你可以使用它。

if (String.IsNullOrWhiteSpace(textBox1.Text) || string.IsNullOrWhiteSpace(textBox2.Text))
{
    var dialog = new MessageDialog("Error");
    await dialog.ShowAsync();
}

我优先选择IsNullOrWhiteSpace而不是IsNullOrEmpty,因为它会检查字符串是否只包含空格。 您可以根据需要链接任意数量的条件。 ||代表or和&&代表和。

答案 3 :(得分:1)

if ((String.IsNullOrEmpty(textBox1.Text) | String.IsNullOrEmpty(textBox2.Text))

这将解决。