对输入框以及选择框集体的数据检验

对于一个档案输入框,有很多输入框是需要输入数据的,但有时候我们会在输入的时候遗留一些必填的项,如果不做数据校验,这时候点击保存按钮,就悲剧了,报错不说,我们前面填写的数据也就没有了。

所以数据校验非常重要。

有的项目一个界面有很多项需要校验,如果我们一个一个写校验方法,代码重复冗余太严重,不利于阅读。这时候我们回想,如果有一个方法能把所有的项都校验就好了。

有这样的方法吗?答案肯定是肯定的。

我这里有相同类型的控件集体校验的方法。

1、TextBox集体校验

private void CheckTextBoxNotEmpty(ref bool isOK, params TextBox[] textboxes)
        {
            foreach (TextBox tb in textboxes)
            {
                if (string.IsNullOrEmpty(tb.Text.Trim()))
                {
                    isOK = false;
                    tb.Background = Brushes.Red;
                }
                else
                {
                    tb.Background = null;
                }
            }
        }

如果有的TextBox为空,就会把控件的背景色设成红色。

2、ComboBox集体校验

private void CheckComboBoxNotEmpty(ref bool isOk, params ComboBox[] comboBoxes)
        {
            foreach (ComboBox cb in comboBoxes)
            {
                if (cb.SelectedIndex < 0)
                {
                    isOk = false;
                    cb.Effect = new DropShadowEffect { Color=Colors.Red};
                }
                else
                {
                    cb.Effect = null;
                }
            }
        }

下面是对方法的调用:

    bool isOk = true;//数据检验是否通过
            CheckTextBoxNotEmpty(ref isOk, txtName,  txtAddr.......);
            CheckComboBoxNotEmpty(ref isOk, cbGender, cbMarriage......);
            if (!isOk) //如果没有通过数据合法性检查,则不保存
            {
                return;
            }

如果是其他的控件也可以套用这些方法。

posted @ 2016-04-29 10:42  幻影星辰  阅读(245)  评论(0编辑  收藏  举报