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; } } }); }
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>"); } } } } } }
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(); } } } }); }
private void txtLastName_KeyPress(object sender, KeyPressEventArgs e) { e.Handled = FieldValidations.ValidateLetters(e); }