private int CheckUser() { ErrorControls.NotEmptyTextBox(tbTitle); ErrorControls.NotEmptyTextBox(tbContent); return(ErrorControls.GetCount()); }
private int CheckUser() { ErrorControls.NotEmptyTextBox(btnName); ErrorControls.RegexTextBox(btnEmail, "^[0-9a-z_\\.-]+@[0-9a-z_\\.-]+\\.[a-z]{2,}?$"); ErrorControls.NotEmptyTextBox(btnMessage); return(ErrorControls.GetCount()); }
private int CheckUser() { if (!ErrorControls.NotEmptyTextBox(tbName)) { errs.Add(tbName.ID, "Поле не должно быть пустым"); } if (!ErrorControls.NotEmptyTextBox(tbMiddleName)) { errs.Add(tbMiddleName.ID, "Поле не должно быть пустым"); } if (!ErrorControls.NotEmptyTextBox(tbLastName)) { errs.Add(tbLastName.ID, "Поле не должно быть пустым"); } if (!ErrorControls.NotEmptyTextBox(tbEmail)) { errs.Add(tbEmail.ID, "Поле не должно быть пустым"); } else if (!ErrorControls.RegexTextBox(tbEmail, "^[0-9a-z_\\.-]+@[0-9a-z_\\.-]+\\.[a-z]{2,}?$")) { errs.Add(tbEmail.ID, "Не правильный формат"); } // если режим добавления проверяем это if (Mode == "add") { if (!ErrorControls.NotEmptyTextBox(tbLogin)) { errs.Add(tbLogin.ID, "Поле не должно быть пустым"); } else if (!ErrorControls.RegexTextBox(tbLogin, "^[a-zA-Z]+$")) { errs.Add(tbLogin.ID, "Только латинские буквы"); } else if (GlobalVariables.Link.UniqueLogin(tbLogin.Text)) { errs.Add(tbLogin.ID, "Присутствует в системе"); } if (!ErrorControls.NotEmptyTextBox(tbPass)) { errs.Add(tbPass.ID, "Поле не должно быть пустым"); } else if (tbPass.Text != tbRePass.Text) { errs.Add(tbPass.ID, "Пароли должны совпадать"); errs.Add(tbRePass.ID, "Пароли должны совпадать"); } } return(ErrorControls.GetCount()); }
private int CheckFields() // возвращаем количество ошибок { bool check; int i = 0; check = ErrorControls.EmptyTextBox(textBox1); // Логин ErrorControls.CountErrors(ref i, check); check = ErrorControls.EmptyTextBox(textBox2); // Пароль ErrorControls.CountErrors(ref i, check); return(i); }
void control_BindingValidationError(object sender, ValidationErrorEventArgs e) { var control = e.OriginalSource as Control; if (e.Action == ValidationErrorEventAction.Removed && ErrorControls.Contains(control)) { ErrorControls.Remove(control); } else if (e.Action == ValidationErrorEventAction.Added && !ErrorControls.Contains(control) && control.IsEnabled && control.Visibility == Visibility.Visible) { ErrorControls.Add(control); } }
private bool ValidateDateRange(Control p, FrameworkElement element, FieldInfo field) { DateTime?currentDate = p.GetType().GetProperty("SelectedDate").GetValue(p, null) as DateTime?; var entity = element.DataContext as ComplexObject; string maxDateFrom = RestrictDatePickerAttached.GetMaxDate(element); string minDateFrom = RestrictDatePickerAttached.GetMinDate(element); if (entity != null && currentDate != null && (currentDate < DateTime.Parse(minDateFrom) || currentDate > DateTime.Parse(maxDateFrom))) { var be = element.GetBindingExpression((DependencyProperty)field.GetValue(null)); if (be != null && be.ParentBinding != null && be.ParentBinding.Path != null) { if (p.Tag == null) { p.Tag = new ValidationResult(string.Format(ValidationResource.ValidationMessage_InvalidDate, minDateFrom, maxDateFrom), new string[] { be.ParentBinding.Path.Path }); entity.ValidationErrors.Add(p.Tag as ValidationResult); } else if (!entity.ValidationErrors.Contains(p.Tag as ValidationResult)) { entity.ValidationErrors.Add(p.Tag as ValidationResult); } } if (!ErrorControls.Contains(p)) { ErrorControls.Add(element as Control); } return(false); } else if (entity != null) { if (p.Tag != null && entity.ValidationErrors.Contains(p.Tag as ValidationResult)) { entity.ValidationErrors.Remove(p.Tag as ValidationResult); p.Tag = null; } if (ErrorControls.Contains(p)) { ErrorControls.Remove(element as Control); } } return(true); }
private int CheckUser() { if (!ErrorControls.NotEmptyTextBox(btnOldPassword)) { errs.Add(btnOldPassword.ID, "Поле не должно быть пустым"); } else if (btnOldPassword.Text != account.Password) { errs.Add(btnOldPassword.ID, "Не верный пароль"); } if (!ErrorControls.NotEmptyTextBox(btnPassword)) { errs.Add(btnPassword.ID, "Поле не должно быть пустым"); } else if (btnPassword.Text != btnRePassword.Text) { errs.Add(btnPassword.ID, "Пароли должны совпадать"); errs.Add(btnRePassword.ID, "Пароли должны совпадать"); } return(ErrorControls.GetCount()); }
private int CheckUser() { if (!ErrorControls.NotEmptyTextBox(tbName)) { errs.Add(ErrorName, "Поле не должно быть пустым"); } if (!ErrorControls.NotEmptyTextBox(tbMiddleName)) { errs.Add(ErrorMiddleName, "Поле не должно быть пустым"); } if (!ErrorControls.NotEmptyTextBox(tbLastName)) { errs.Add(ErrorLastName, "Поле не должно быть пустым"); } if (!ErrorControls.NotEmptyTextBox(tbEmail)) { errs.Add(ErrorEmail, "Поле не должно быть пустым"); } else if (!ErrorControls.RegexTextBox(tbEmail, "^[0-9a-z_\\.-]+@[0-9a-z_\\.-]+\\.[a-z]{2,}?$")) { errs.Add(ErrorEmail, "Не правильный формат"); } if (Mode == "add") { if (!ErrorControls.NotEmptyTextBox(tbLogin)) { errs.Add(ErrorLogin, "Поле не должно быть пустым"); } else if (!ErrorControls.RegexTextBox(tbLogin, "^[a-zA-Z]+$")) { errs.Add(ErrorLogin, "Только латинские буквы"); } else if (GlobalVariables.Link.UniqueLogin(tbLogin.Text)) { ErrorControls.CountErrors(false); errs.Add(ErrorLogin, "Присутствует в системе"); } if (!ErrorControls.NotEmptyTextBox(tbPass)) { errs.Add(ErrorPass, "Поле не должно быть пустым"); } else if (tbPass.Text != tbRePass.Text) { ErrorControls.CountErrors(false); errs.Add(ErrorPass, "Пароли должны совпадать"); errs.Add(ErrorRePass, "Пароли должны совпадать"); } string captcha = Session["captcha"] as string; if (!ErrorControls.NotEmptyTextBox(tbCaptcha)) { errs.Add(ErrorCaptcha, "Поле не должно быть пустым"); } else if ((Session["captcha"] as string) != tbCaptcha.Text.ToLower()) { ErrorControls.CountErrors(false); errs.Add(ErrorCaptcha, "Символы введены не верно"); } Session["captcha"] = null; } return(ErrorControls.GetCount()); }
internal bool Validate(FrameworkElement container) { ErrorControls.Clear(); Controls.Clear(); //1.找到所有需要验证的控件 ForEachElement(container, p => { var control = p as Control; var textBox = p as TextBox; if (control != null && control.IsEnabled && control.Visibility == Visibility.Visible) { Controls.Add(control); control.BindingValidationError -= new EventHandler <ValidationErrorEventArgs>(control_BindingValidationError); control.BindingValidationError += new EventHandler <ValidationErrorEventArgs>(control_BindingValidationError); //如果TextBox为只读,则不应该验证 if (textBox != null && textBox.IsReadOnly) { control.BindingValidationError -= new EventHandler <ValidationErrorEventArgs>(control_BindingValidationError); Controls.Remove(control); } } }); Validate(); //2.去触发所有验证; //if (ErrorControls.Count == 0) //{ // ValidateObject(entity); //} //3.定位到第一个控件 if (ErrorControls.Count > 0) { ErrorControls.Sort((x, y) => { return(x.TabIndex - y.TabIndex); }); var firstControl = ErrorControls[0]; ScrollToElement(firstControl); firstControl.Dispatcher.BeginInvoke(() => { //Ryan:当disable或者readonly的情况下不能进行聚焦,也不应该聚焦,聚焦也没有用,反而会因为事件冒泡影响RootVisual的KeyDown事件,从而影响快捷键 if (firstControl.IsEnabled) { var control = firstControl as TextBox; if (control != null) { if (!control.IsReadOnly) { firstControl.Focus(); } } else { firstControl.Focus(); } } }); } //if (ErrorControls.Count == 0) //{ // if (entity.HasValidationErrors) // { // entity.ValidationErrors.Clear(); // } //} return(ErrorControls.Count == 0); }
private int CheckUser() // возвращаем количество ошибок { bool check; int i = 0; check = ErrorControls.EmptyTextBox(textBox1); ErrorControls.CountErrors(ref i, check); check = ErrorControls.EmptyTextBox(textBox2); ErrorControls.CountErrors(ref i, check); check = ErrorControls.EmptyTextBox(textBox3); ErrorControls.CountErrors(ref i, check); check = ErrorControls.EmptyTextBox(textBox4); // email label4.Hide(); if (check) //если гуд проверим регуляркой на буквы латинского алфавита { if (!Regex.IsMatch(textBox4.Text, "^[0-9a-z_\\.-]+@[0-9a-z_\\.-]+\\.[a-z]{2}?$")) { textBox4.BackColor = Color.Red; check = false; } else { // последняя проврека на уникальность в базе if (!logic.IsUniqueField("email", textBox4.Text)) { textBox4.BackColor = Color.Red; check = false; label4.Show(); } } } ErrorControls.CountErrors(ref i, check); check = ErrorControls.EmptyTextBox(textBox5); // login label12.Hide(); if (check) //если гуд проверим регуляркой на буквы латинского алфавита { if (!Regex.IsMatch(textBox5.Text, "^[a-z]+$")) { textBox5.BackColor = Color.Red; check = false; } else // последняя проврека на уникальность в базе { if (!logic.IsUniqueField("login", textBox5.Text)) { textBox5.BackColor = Color.Red; check = false; label12.Show(); } } } ErrorControls.CountErrors(ref i, check); check = ErrorControls.EmptyTextBox(textBox6); ErrorControls.CountErrors(ref i, check); if (image != null) // image { button3.BackColor = Color.White; } else { button3.BackColor = Color.Red; check = false; } ErrorControls.CountErrors(ref i, check); return(i); }