DevExpress에서 DxValidationProvider 를 사용하여 유효성 검사를 합니다.

 

using System.Windows.Forms;

using DevExpress.XtraEditors.DXErrorProvider;

namespace Test
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            #region 유효성 검사 입니다.

            this.dxValidationProvider1.ValidationMode = DevExpress.XtraEditors.DXErrorProvider.ValidationMode.Manual;

            ConditionValidationRule validationRule = new ConditionValidationRule();

            validationRule.ConditionOperator = ConditionOperator.IsNotBlank;
            validationRule.Value1 = "";

            validationRule.ErrorText = "Please enter a value that equals to the first editor's value";
            validationRule.ErrorType = ErrorType.Critical;

            dxValidationProvider1.SetValidationRule(this.textEdit1, validationRule);

            #endregion

            #region 이벤트를 설정합니다.

            this.simpleButton1.Click += SimpleButton1_Click;

            #endregion
        }

        /// <summary>
        /// 버튼 클릭시 동작합니다.
        /// </summary>
        /// <param name="sender">이벤트 발생자 입니다.</param>
        /// <param name="e">이벤트 인자 입니다.</param>
        private void SimpleButton1_Click(object sender, System.EventArgs e)
        {
            dxValidationProvider1.Validate();
        }
    }
}

텍스트 박스의 값이 없거나 혹은 NULL 일 경우 메시지 박스를 호출하고 리턴해줄수 있습니다.

 

#region CheckTextEdit(textEdit, mandatory, inputValue, labelName)

/// <summary>
/// 텍스트 에디트를 검사합니다.
/// </summary>
/// <param name="textBox">텍스트 박스 입니다.</param>
/// <param name="mandatory">필수 여부 입니다.</param>
/// <param name="inputValue">입력 값 입니다.</param>
/// <param name="labelName">라벨 이름 입니다.</param>
/// <returns>유효성 여부를 리턴합니다.</returns>
private bool CheckTextEdit(TextBox textBox, bool mandatory, string inputValue, string labelName)
{ 
	if(mandatory)
	{ 
		if(string.IsNullOrEmpty(inputValue))
		{ 
			MessageBox.Show($"{labelName} 항목을 입력해주시기 바랍니다.");

			textEdit.Focus();

			return false;
		}
		else
		{
			return true;
		}
	}
	else
	{ 
		return true;
	}
}

#endregion

 

+ Recent posts