Example #1
0
 private void txtId_KeyPress(object sender, KeyPressEventArgs e)
 {
     if (isIdLengthRight)
     {
         e.Handled = FieldValidations.ValidateNumbers(e);
     }
     else
     {
         if (Char.IsControl(e.KeyChar))
         {
             e.Handled = false;
         }
         else
         {
             e.Handled = true;
         }
     }
 }
        protected void createTabXML()
        {
            
            FieldValidations allFieldsValidations = new FieldValidations();

            DataTable validationDataTable = ValidationDataTable;
            DataTable validationConditionDataTable = ValidationConditionDataTable;

            foreach (DataRow drValidationRow in validationDataTable.Rows)
            {

                string FieldName = drValidationRow[Constants.ValidationField.SPFieldName].ToString();
                Enums.ValidationRule ValidationRule = (Enums.ValidationRule)(Convert.ToInt32(drValidationRow[Constants.ValidationField.ValidationRuleID].ToString()));
                Enums.Operator FieldOperatorID = (Enums.Operator)(Convert.ToInt32(drValidationRow[Constants.ValidationField.SPFieldOperatorID].ToString()));
                string ValidationValue = drValidationRow[Constants.ValidationField.Value].ToString();
                string ErrorMessage = drValidationRow[Constants.ValidationField.ErrorMessage].ToString();
                Enums.Operator BySPPrincipalOperator = (Enums.Operator)(Convert.ToInt32(drValidationRow[Constants.ValidationField.SPPrinciplesOperatorID].ToString()));
                string ForSPPrinciples = drValidationRow[Constants.ValidationField.SPPrinciples].ToString();

                FieldValidation objValidation = new FieldValidation(new Field(FieldName), ValidationRule, FieldOperatorID, ValidationValue, ErrorMessage, ForSPPrinciples, BySPPrincipalOperator);


                int validationID = Convert.ToInt32(drValidationRow[Constants.RowID]);
                DataTable conditionOfSelectedValidation = Helper.GetViewFromDataTable(validationConditionDataTable, validationID, Constants.ConditionField.ValidationRowID).ToTable();

                if (conditionOfSelectedValidation != null && conditionOfSelectedValidation.Rows.Count > 0)
                {
                    foreach (DataRow drCondition in conditionOfSelectedValidation.Rows)
                    {
                        string OnField2 = drCondition[Constants.ConditionField.SPFieldName].ToString();
                        Enums.Operator ByFieldOperator = (Enums.Operator)Convert.ToInt32(drCondition[Constants.ConditionField.SPFieldOperatorID].ToString());
                        object Value = drCondition[Constants.ConditionField.Value].ToString();
                        objValidation.Conditions.Add(new Condition(new Field(OnField2), ByFieldOperator, Value));
                    }

                }

                allFieldsValidations.Add(objValidation);
            }


            SPSecurity.RunWithElevatedPrivileges(delegate
            {
                using (SPSite objSite = new SPSite(SPContext.Current.Web.Url.ToString()))
                {
                    using (SPWeb objWeb = objSite.OpenWeb())
                    {

                        SPList list = objWeb.Lists[new Guid(Request.QueryString["List"])];
                        objWeb.AllowUnsafeUpdates = true;


                        string xml = allFieldsValidations.ToString();
                        if (allFieldsValidations.Count > 0 && Helper.IsValidXml(xml))
                        {

                            Helper.CreateConfigFile(list, Constants.ConfigFile.FieldValidationFile, xml);
                        }
                        else
                        {
                            Helper.DeleteConfigFile(list, Constants.ConfigFile.FieldValidationFile, xml);
                        }

                        objWeb.AllowUnsafeUpdates = false;
                    }
                }
            });
            
        }
Example #3
0
        public void Validate()
        {
            FieldValidations allFieldVals = FieldValidations.LoadFieldValidations(GetConfigFile(Constants.ConfigFile.FieldValidationFile));

            if (base.ControlMode != SPControlMode.Display && allFieldVals != null)
            {
                #region Test data
                //allFieldVals.Add(new FieldValidation(new Field("Title"), Enums.ValidationRule.Column, Enums.Operator.Equal, "adil", "error for adil", "", Enums.Operator.None));
                //allFieldVals.Add(new FieldValidation(new Field("Status"), Enums.ValidationRule.Column, Enums.Operator.Contains, "Start", "error for start", "", Enums.Operator.None));
                //allFieldVals.Add(new FieldValidation(new Field("Title"), Enums.ValidationRule.Pattern, Enums.Operator.Equal, @"\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*", "not valid email", "pc\\pdadmin", Enums.Operator.Equal));
                //allFieldVals.Add(new FieldValidation(new Field("Predecessors"), Enums.ValidationRule.Column, Enums.Operator.Contains, "adil", "contains adil", "pc\\pdadmin", Enums.Operator.Equal));
                #endregion

                bool isErroredField = false;
                foreach (FieldValidation v in allFieldVals)
                {
                    if (ConditionEvaluator.EvaluateFromUIValue(v.Conditions, _formContext, ClientID) && PrincipalEvaluator.Check(v.ForSPPrinciples, v.BySPPrinciplesOperator))
                    {
                        BaseFieldControl field = ValidationInjector.GetFieldControlByName(v.OnField.SPName, _formContext, ClientID);

                        if (field != null)
                        {
                            switch (v.Rule)
                            {
                            case Enums.ValidationRule.Column:
                                if (ValidationInjector.InvalidColumnValue(field.Value, v.ByRuleOperator, v.Value.ToString(), field.Field.FieldValueType))
                                {
                                    ValidationInjector.SetValidationError(field, v.ErrorMsg); isErroredField = true;
                                }
                                break;

                            case Enums.ValidationRule.length:
                                int length = (field.Value == null ? 0 : field.Value.ToString().Length);
                                if (ValidationInjector.InvalidLengthValue(length, v.ByRuleOperator, v.Value.ToString()))
                                {
                                    ValidationInjector.SetValidationError(field, v.ErrorMsg); isErroredField = true;
                                }
                                break;

                            case Enums.ValidationRule.Pattern:
                                if (ValidationInjector.InvalidPatternValue((field.Value ?? "").ToString(), v.Value.ToString()))
                                {
                                    ValidationInjector.SetValidationError(field, v.ErrorMsg); isErroredField = true;
                                }
                                break;
                            }
                        }

                        if (allTabs != null)
                        {
                            string tabname = allTabs.GetTabNameOfField(v.OnField.SPName);
                            if (isErroredField && !string.IsNullOrEmpty(tabname))
                            {
                                this.Page.ClientScript.RegisterStartupScript(base.GetType(), "SLFE_UpdatePanelHelper", string.Concat(new string[]
                                {
                                    "<script type='text/javascript'>g_SLFEUpdatePanelHelper='",
                                    this.updatePanelIterator.ClientID,
                                    "';\r\ng_RequestResultTabsInfoHidden = '",
                                    this.RequestResultTabsInfoHidden.ClientID,
                                    "';\r\nSys.WebForms.PageRequestManager.getInstance().add_pageLoaded(SLFE_OnClientResponseEnded);\r\n</script>"
                                }));
                                this.Page.ClientScript.RegisterStartupScript(base.GetType(), "SLFE_CallFirstSelectTab", "<script type='text/javascript'>SLFE_SelectTab('" + allTabs.GetTabNameOfField(v.OnField.SPName) + "')</script>");
                            }
                        }
                    }
                }
            }
        }
Example #4
0
        protected void createTabXML()
        {
            FieldValidations allFieldsValidations = new FieldValidations();

            DataTable validationDataTable          = ValidationDataTable;
            DataTable validationConditionDataTable = ValidationConditionDataTable;

            foreach (DataRow drValidationRow in validationDataTable.Rows)
            {
                string FieldName = drValidationRow[Constants.ValidationField.SPFieldName].ToString();
                Enums.ValidationRule ValidationRule  = (Enums.ValidationRule)(Convert.ToInt32(drValidationRow[Constants.ValidationField.ValidationRuleID].ToString()));
                Enums.Operator       FieldOperatorID = (Enums.Operator)(Convert.ToInt32(drValidationRow[Constants.ValidationField.SPFieldOperatorID].ToString()));
                string         ValidationValue       = drValidationRow[Constants.ValidationField.Value].ToString();
                string         ErrorMessage          = drValidationRow[Constants.ValidationField.ErrorMessage].ToString();
                Enums.Operator BySPPrincipalOperator = (Enums.Operator)(Convert.ToInt32(drValidationRow[Constants.ValidationField.SPPrinciplesOperatorID].ToString()));
                string         ForSPPrinciples       = drValidationRow[Constants.ValidationField.SPPrinciples].ToString();

                FieldValidation objValidation = new FieldValidation(new Field(FieldName), ValidationRule, FieldOperatorID, ValidationValue, ErrorMessage, ForSPPrinciples, BySPPrincipalOperator);


                int       validationID = Convert.ToInt32(drValidationRow[Constants.RowID]);
                DataTable conditionOfSelectedValidation = Helper.GetViewFromDataTable(validationConditionDataTable, validationID, Constants.ConditionField.ValidationRowID).ToTable();

                if (conditionOfSelectedValidation != null && conditionOfSelectedValidation.Rows.Count > 0)
                {
                    foreach (DataRow drCondition in conditionOfSelectedValidation.Rows)
                    {
                        string         OnField2        = drCondition[Constants.ConditionField.SPFieldName].ToString();
                        Enums.Operator ByFieldOperator = (Enums.Operator)Convert.ToInt32(drCondition[Constants.ConditionField.SPFieldOperatorID].ToString());
                        object         Value           = drCondition[Constants.ConditionField.Value].ToString();
                        objValidation.Conditions.Add(new Condition(new Field(OnField2), ByFieldOperator, Value));
                    }
                }

                allFieldsValidations.Add(objValidation);
            }


            SPSecurity.RunWithElevatedPrivileges(delegate
            {
                using (SPSite objSite = new SPSite(SPContext.Current.Web.Url.ToString()))
                {
                    using (SPWeb objWeb = objSite.OpenWeb())
                    {
                        SPList list = objWeb.Lists[new Guid(Request.QueryString["List"])];
                        objWeb.AllowUnsafeUpdates = true;


                        string xml = allFieldsValidations.ToString();
                        if (allFieldsValidations.Count > 0 && Helper.IsValidXml(xml))
                        {
                            Helper.CreateConfigFile(list, Constants.ConfigFile.FieldValidationFile, xml);
                        }
                        else
                        {
                            Helper.DeleteConfigFile(list, Constants.ConfigFile.FieldValidationFile, xml);
                        }

                        objWeb.AllowUnsafeUpdates = false;
                    }
                }
            });
        }
Example #5
0
        private void LoadValidationSettings()
        {
            SPSecurity.RunWithElevatedPrivileges(delegate
            {
                using (SPSite objSite = new SPSite(SPContext.Current.Web.Url))
                {
                    using (SPWeb objWeb = objSite.OpenWeb())
                    {
                        SPList list = objWeb.Lists[new Guid(Request.QueryString["List"])];

                        FieldValidations allFieldsValidation = FieldValidations.LoadFieldValidations(Helper.GetConfigFile(list, Constants.ConfigFile.FieldValidationFile));
                        if (allFieldsValidation != null)
                        {
                            DataTable validationDataTable   = createValidationDataTable();
                            DataTable valConditionDataTable = createConditionDataTable();

                            foreach (FieldValidation fieldValidation in allFieldsValidation)
                            {
                                if (!list.Fields.ContainsField(fieldValidation.OnField.SPName))
                                {
                                    continue;
                                }

                                DataRow drValidation = validationDataTable.NewRow();
                                drValidation[Constants.ValidationField.SPFieldName]         = fieldValidation.OnField.SPName;
                                drValidation[Constants.ValidationField.SPFieldDisplayName]  = list.Fields.GetFieldByInternalName(fieldValidation.OnField.SPName).Title;
                                drValidation[Constants.ValidationField.ValidationRuleID]    = (int)fieldValidation.Rule;
                                drValidation[Constants.ValidationField.ValidationRuleName]  = Enums.DisplayString(fieldValidation.Rule);
                                drValidation[Constants.ValidationField.SPFieldOperatorID]   = (int)fieldValidation.ByRuleOperator;
                                drValidation[Constants.ValidationField.SPFieldOperatorName] = Enums.DisplayString(fieldValidation.ByRuleOperator);
                                drValidation[Constants.ValidationField.Value] = fieldValidation.Value;
                                drValidation[Constants.ValidationField.SPPrinciplesOperatorID]   = (int)fieldValidation.BySPPrinciplesOperator;
                                drValidation[Constants.ValidationField.SPPrinciplesOperatorName] = Enums.DisplayString(fieldValidation.BySPPrinciplesOperator);
                                drValidation[Constants.ValidationField.ErrorMessage]             = fieldValidation.ErrorMsg;
                                drValidation[Constants.ValidationField.SPPrinciples]             = fieldValidation.ForSPPrinciples;
                                drValidation[Constants.ValidationField.HasCondition]             = fieldValidation.Conditions.Count > 0 ? fieldValidation.Conditions.ConditionsToString(list) : "";
                                validationDataTable.Rows.Add(drValidation);

                                foreach (Condition permCondition in fieldValidation.Conditions)
                                {
                                    if (!list.Fields.ContainsField(permCondition.OnField.SPName))
                                    {
                                        continue;
                                    }

                                    DataRow drCondition = valConditionDataTable.NewRow();
                                    drCondition[Constants.ConditionField.ValidationRowID]     = drValidation[Constants.RowID];
                                    drCondition[Constants.ConditionField.SPFieldName]         = permCondition.OnField.SPName;
                                    drCondition[Constants.ConditionField.SPFieldDisplayName]  = list.Fields.GetFieldByInternalName(permCondition.OnField.SPName).Title;
                                    drCondition[Constants.ConditionField.SPFieldOperatorID]   = (int)permCondition.ByFieldOperator;
                                    drCondition[Constants.ConditionField.SPFieldOperatorName] = Enums.DisplayString(permCondition.ByFieldOperator);
                                    drCondition[Constants.ConditionField.Value] = permCondition.Value;
                                    valConditionDataTable.Rows.Add(drCondition);
                                }

                                ValidationConditionDataTable = valConditionDataTable;
                            }

                            ValidationDataTable = validationDataTable;
                            gvResult.DataSource = validationDataTable;
                            gvResult.DataBind();
                        }
                    }
                }
            });
        }
Example #6
0
 private void txtLastName_KeyPress(object sender, KeyPressEventArgs e)
 {
     e.Handled = FieldValidations.ValidateLetters(e);
 }