【问题标题】:Validate input multiple textboxes验证输入多个文本框
【发布时间】:2016-09-26 15:16:52
【问题描述】:

我正在用这个方法在另一个方法中读取数据和设置字段,是否可以验证每个字段不为空或包含数字以外的内容?

我希望能够显示一个消息框“填写所有文本框”目前如果我为每个我得到的添加一个 elsemethod(在最坏的情况下是 4 个消息框)..

    private bool ReadInput()
    {
        double curReading = 0;
        double prevReading = 0;
        double amount = 0;
        double unitNumber = 0;

        if (double.TryParse(tbReading.Text, out curReading))
        {
            CalcData.SetCurrentReading(curReading);
        }

        if (double.TryParse(tbPrevReading.Text, out prevReading))
        {
            CalcData.SetPrevReading(prevReading);
        }

        if (double.TryParse(tbAmount.Text, out amount))
        {
            CalcData.SetAmount(amount);
        }

        if (double.TryParse(tbUnitNumber.Text, out unitNumber))
        {
            CalcData.SetUnitNumber(unitNumber);
        }
        return false;
    }

【问题讨论】:

标签: c#


【解决方案1】:

可能是这样的:

private bool ReadInput()
{
    double curReading = 0;
    double prevReading = 0;
    double amount = 0;
    double unitNumber = 0;
    var validData = true;

    if (double.TryParse(tbReading.Text, out curReading))
    {
        CalcData.SetCurrentReading(curReading);
    }
    else
    {
        validData = false;
    }

    if (double.TryParse(tbPrevReading.Text, out prevReading))
    {
        CalcData.SetPrevReading(prevReading);
    }
    else
    {
        validData = false;
    }

    if (double.TryParse(tbAmount.Text, out amount))
    {
        CalcData.SetAmount(amount);
    }
    else
    {
        validData = false;
    }

    if (double.TryParse(tbUnitNumber.Text, out unitNumber))
    {
        CalcData.SetUnitNumber(unitNumber);
    }
    else
    {
        validData = false;
    }

    if(!validData)
    {
        //Show your dialog here
    }

    return false;
}

【讨论】:

  • 干杯,刚刚意识到我也可以这样修复它:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-09
  • 1970-01-01
  • 1970-01-01
  • 2017-11-11
  • 1970-01-01
  • 2014-06-23
相关资源
最近更新 更多