// Validate contols before submit
    public override bool EFFormFieldsValidation(SPMSubmitMethod SubmitMethod, SPMProcessMethod ProcessMethod, SPMTaskVariables SPMTaskVars, ref IInterfaceHandleResult HandleResult, object oContainer, IUIShadow UIShadow)
    {
        NPIGating_HISUIShadow lUIControls = (NPIGating_HISUIShadow)UIShadow;
        string ErrMsg = string.Empty;

        if (SubmitMethod == SPMSubmitMethod.CreateNewCase)
        {
            #region [ check list]

            //ErrMsg = BeginFormFieldsValidation(UIShadow);

            if (ErrMsg.Length > 0)
            {
                HandleResult.IsSuccess     = false;
                HandleResult.CustomMessage = ErrMsg;
                return(false);
            }
            ////依DOA获取待签关卡及签核人资讯
            if (HandleResult.IsSuccess)
            {
                NPIMgmt      oMgmt     = new NPIMgmt(lUIControls.lblSite.Text, lUIControls.lblBu.Text);
                NPI_Standard oStandard = oMgmt.InitialLeaveMgmt();

                Model_NPI_DOA_Parameter oModel_NPI_DOA_Parameter = new Model_NPI_DOA_Parameter();

                //oModel_NPI_DOA_Parameter._BU = "HIS";
                oModel_NPI_DOA_Parameter._BU       = lUIControls.lblBu.Text;
                oModel_NPI_DOA_Parameter._BUILDING = lUIControls.cmbPlant.SelectedItem.Text;
                oModel_NPI_DOA_Parameter._CASE_ID  = oPara.CaseId;
                oModel_NPI_DOA_Parameter._FORM_NO  = lUIControls.txtFormNo.Text;
                oModel_NPI_DOA_Parameter._PHASE    = lUIControls.cmbPhase.SelectedItem.Text;

                oModel_NPI_DOA_HandlerInfo = oStandard.GenerateStepAndHandler(oModel_NPI_DOA_Parameter);

                if (!oModel_NPI_DOA_HandlerInfo._RESULT)
                {
                    HandleResult.IsSuccess     = false;
                    HandleResult.CustomMessage = oModel_NPI_DOA_HandlerInfo._ERROR_MSG;
                }
            }
            #endregion
        }
        else
        {
            string stepName = (string)(SPMTaskVars.ReadDatum("STEPNAME"));
            if (SubmitMethod != SPMSubmitMethod.CreateNewCase)
            {
                HandleResult.IsSuccess = true;
            }
            if (stepName == "Begin" || stepName == "開始")
            {
                HandleResult.IsSuccess     = false;
                HandleResult.CustomMessage = "退簽單據不可重複送簽!";
            }
            else
            {
                if (!(lUIControls.rdResultY.Checked || lUIControls.rdResultN.Checked || lUIControls.rdReulutCondition.Checked))
                {
                    HandleResult.IsSuccess     = false;
                    HandleResult.CustomMessage = "請勾选签核結果!";
                }
            }
        }
        return(base.EFFormFieldsValidation(SubmitMethod, ProcessMethod, SPMTaskVars, ref HandleResult, oContainer, UIShadow));
    }