Home > .Net Framework > Kelas sederhana untuk melakukan validasi control di C#

Kelas sederhana untuk melakukan validasi control di C#


Biasanya kita melakukan validasi banyak control secara manual dengan if, berikut ini adalah kelas sederhana untuk melakukan validasi banyak control dengan hanya menyebutkan control apa saja yang hendak di validasi

using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
namespace NetFrameWork.Function
{
    public class Validasi : MyFunction
    {
        private Control ctrl;
        private List ctrlException;
        private List ctrlNotException;

        //public List ControlTidakDivalidasi
        //{
        //    get { return ctrlException; }
        //    set { ctrlException = value; }
        //}
        public Control CTRL
        {
            get { return ctrl; }
            set { ctrl = value; }
        }
        
        public static void NumericTextBox(KeyPressEventArgs e)
        {
            string strValid = "0123456789";
            if (e.KeyChar == (char)56)
                e.Handled = false;
            else
            {

                if (strValid.IndexOf(e.KeyChar) < 0 && !(e.KeyChar == (char)Keys.Back))
                    e.Handled = true;
                else
                    e.Handled = false;
            }
        }
        
        
        public Validasi(Control ctrl,params string[] ctrlNameUnValidate)
        {
            this.ctrl = ctrl;
            ctrlException = new List();
                
            foreach (string s in ctrlNameUnValidate)
            {
                ctrlException.Add(s.ToLower().Trim());
            }
        }
        //public Validasi(Control ctrl, params Control[] ctrlUnValidate)
        //{
        //    this.ctrl = ctrl;
        //    ctrlException = new List();
        //    foreach (Control c in ctrlUnValidate)
        //    {
        //        ctrlException.Add(c.Name.ToLower().Trim());
        //    }
        //}
        public Validasi(Control ctrl, params Control[] ctrlValidate)
        {
            this.ctrl = ctrl;
            ctrlNotException = new List();
            foreach (Control c in ctrlValidate)
            {
                ctrlNotException.Add(c.Name.ToLower().Trim());
            }
        }
        public bool validasi()
        {
            foreach (Control c in ctrl.Controls)
            {
                if (ctrlException != null)
                {
                    if (ctrlException.IndexOf(c.Name.ToLower().Trim()) == -1)
                    {
                        continue;
                    }
                }
                if (ctrlNotException != null)
                {
                    if (ctrlNotException.IndexOf(c.Name.ToLower().Trim()) == -1)
                    {
                        continue;
                    }
                }
                switch (c.GetType().Name.Trim())
                {
                    case "TextBox":
                        tempTxt = (TextBox)c;
                        if (tempTxt.Text.Trim().Length == 0)
                        {
                            if (c.Tag == null)
                            {
                                MsgBox("Text masih kosong !");
                                return false;
                            }
                            if (c.Tag.ToString().Trim().Length == 0)
                            {
                                MsgBox("Text masih kosong !");
                            }
                            else
                            {
                                MsgBox(c.Tag.ToString() +  " masih kosong !");
                            }
                            c.Focus();
                            return false;
                        }
                        break;
                    case "ComboBox":
                        tempCb = (ComboBox)c;
                        if (tempCb.SelectedIndex == 0)
                        {
                            if (c.Tag == null)
                            {
                                MsgBox("Pilihan belum dipilih !");
                                return false;
                            }
                            if (c.Tag.ToString().Trim().Length == 0)
                            {
                                MsgBox("Pilihan belum dipilih !");
                            }
                            else
                            {
                                MsgBox(c.Tag.ToString() + " belum dipilih !");
                            }
                            c.Focus();
                            return false;
                        }
                        break;
                    case "DateTimePicker":
                        tempDt = (DateTimePicker)c;
                        if (tempDt.Value.Date >= DateTime.Now.Date)
                        {
                            if (c.Tag == null)
                            {
                                MsgBox("Tanggal tidak boleh sama atau lebih dari tanggal hari ini !");
                                return false;
                            }
                            if (c.Tag.ToString().Trim().Length == 0)
                            {
                                MsgBox("Tanggal tidak boleh sama atau lebih dari tanggal hari ini !");
                            }
                            else
                            {
                                MsgBox(c.Tag.ToString() + " tidak boleh sama atau lebih dari tanggal hari ini !");
                            }
                            
                            c.Focus();
                            return false;
                        }
                        break;
                    case "NumericUpDown":
                        tempNud = (NumericUpDown)c;
                        if (tempNud.Value == 0)
                        {
                            if (c.Tag == null)
                            {
                                MsgBox("Data tidak boleh nol");
                                return false;
                            }
                            if (c.Tag.ToString().Trim().Length == 0)
                            {
                                MsgBox("Data tidak boleh nol");
                            }
                            else
                            {
                                MsgBox(c.Tag.ToString() + " tidak boleh 0 !");
                            }
                            tempNud.Select();
                            return false;
                        }
                        break;
                }
            }
            return true;
        }
       
    }
}
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: