public void Validate(System.Web.Mvc.ModelStateDictionary modelState) { ValidationCheck.CheckErrors(this, modelState); if (!String.Equals(this.NewPassword, this.ConfirmPassword, StringComparison.Ordinal)) { modelState.AddModelError("NewPassword", "The new password and confirmation password do not match"); modelState.AddModelError("ConfirmPassword", ""); } SessionUser cuser = AppHelper.CurrentUser; if (!ProjectConfig.DataProvider.UserRepository.ValidatePasswordForUser(this.CurrentPassword, cuser != null ? cuser.ID : 0)) { modelState.AddModelError("CurrentPassword", "Current password is invalid"); } }
public void Validate(System.Web.Mvc.ModelStateDictionary modelState) { ValidationCheck.CheckErrors(this, modelState); if (!ValidationCheck.IsEmpty(this.Email) && ValidationCheck.IsEmail(this.Email)) { IUser user = ProjectConfig.DataProvider.UserRepository.GetUserByEmail(this.Email, true); if (user == null) { modelState.AddModelError("Email", "Sorry, the e-mail address entered was not found. Please try again."); } else if (user.IsConfirmed) { modelState.AddModelError("Email", "Sorry, the e-mail address already confirmed."); } } }
public void Validate(System.Web.Mvc.ModelStateDictionary modelState) { ValidationCheck.CheckErrors(this, modelState); //check Email if (!ValidationCheck.IsEmpty(this.Email) && !ProjectConfig.DataProvider.DifferentRepository.ValidateOuterSubscriptionEmail(this.Email, ID)) { modelState.AddModelError("Email", "This email already present in system"); } if (!(this.Email == this.EmailConfirm)) { modelState.AddModelError("Email", "Email and confirmation email should be match."); } if (!IsRecievingWeeklySpecials && !IsRecievingUpdates) { modelState.AddModelError("IsRecievingUpdates", "Select to recieve news and updates or/and weekly specials."); } }
public static void CheckErrors(object model, System.Web.Mvc.ModelStateDictionary modelState, bool validateNotUpdateedFields) { Dictionary<string, List<ValidationRule>> errorRules = ValidationCheck.GetValidationRules(model.GetType()); foreach (KeyValuePair<string, List<ValidationRule>> item in errorRules) { object obj = model.GetType().InvokeMember(item.Key, BindingFlags.GetProperty, null, model, null); foreach (ValidationRule rule in item.Value) { if (!rule.IFieldValidation.Validate(obj)) { if (modelState.ContainsKey(rule.FieldName) || validateNotUpdateedFields) modelState.AddModelError(rule.FieldName, rule.IFieldValidation.GetErrorMessage(rule.FieldTitle)); continue; } } } }
/// <summary> /// Проверки при сохранении акта ГПД. /// </summary> /// <param name="model">Модель.</param> /// <param name="ms">Словарь.</param> public void CheckFillFieldsForGpdAct(GpdActEditModel model, System.Web.Mvc.ModelStateDictionary ms) { GetPermission(model); if (model.StatusID == 4) { if (model.DateBegin == null) ms.AddModelError("DateBegin", "Укажите начало периода оплаты!"); if (model.DateEnd == null) ms.AddModelError("DateEnd", "Укажите конец периода оплаты!"); return; } if (model.ActDate == null) ms.AddModelError("ActDate", "Укажите дату акта!"); else { if (model.ActDate < model.ContractBeginDate || model.ActDate > model.ContractEndDate) ms.AddModelError("ActDate", "Дата акта должна входить в период действия договора!"); } if (model.ChargingDate == null) ms.AddModelError("ChargingDate", "Укажите дату начисления!"); if (model.DateBegin == null) ms.AddModelError("DateBegin", "Укажите начало периода оплаты!"); if (model.DateEnd == null) ms.AddModelError("DateEnd", "Укажите конец периода оплаты!"); if (model.DateBegin != null && model.DateEnd != null) { if (model.DateBegin < model.ContractBeginDate || model.DateBegin > model.ContractEndDate) ms.AddModelError("DateBegin", "Дата начала срока оплаты должна входить в период действия договора!"); if (model.DateEnd < model.ContractBeginDate || model.DateEnd > model.ContractEndDate) ms.AddModelError("DateEnd", "Дата конца срока оплаты должна входить в период действия договора!"); if (model.DateBegin > model.DateEnd) ms.AddModelError("DateBegin", "Дата начала срока оплаты должна быть меньше даты конца срока оплаты!"); } if (model.Amount < 0) ms.AddModelError("Amount", "Сумма не должна быть меньше нуля!"); if (model.Amount == 0) ms.AddModelError("Amount", "Сумма не должна быть равна нулю!"); if (model.PurposePayment == null) ms.AddModelError("PurposePayment", "Укажите Назначение договора!"); if (model.PurposePayment != null && model.PurposePayment.Length > 210) ms.AddModelError("PurposePayment", "Первышено количество символов!"); if (model.ESSSNum == null) ms.AddModelError("ESSSNum", "Укажите № заявки ЭССС!"); else { try { Convert.ToInt32(model.ESSSNum); } catch { ms.AddModelError("ESSSNum", "№ заявки ЭССС является числовым полем!"); } } }
/// <summary> /// Проверяем правильность заполнения полей. /// </summary> /// <param name="model">Проверяемая модель.</param> /// <param name="ms">Словарь для сообщений об ошибках.</param> public void CheckFillFieldsForGpdRefDetailDialog(GpdRefDetailDialogModel model, System.Web.Mvc.ModelStateDictionary ms) { if (model.Name == null) ms.AddModelError("Name", "Заполните поле 'Наименование'"); if (model.Name != null && model.Name.Trim().Length > 150) ms.AddModelError("Name", "Превышено допустимое количество символов!"); if (model.ContractorName == null) ms.AddModelError("ContractorName", "Заполните поле 'Наименование'"); if (model.ContractorName != null && model.ContractorName.Trim().Length > 150) ms.AddModelError("ContractorName", "Превышено допустимое количество символов!"); //if (model.INN == null) // ms.AddModelError("INN", "Заполните поле 'ИНН'"); //if (model.INN != null && model.INN.Trim().Length > 12) // ms.AddModelError("INN", "Превышено допустимое количество символов!"); //if (model.KPP == null) // ms.AddModelError("KPP", "Заполните поле 'КПП'"); //if (model.KPP != null && model.KPP.Trim().Length > 9) // ms.AddModelError("KPP", "Превышено допустимое количество символов!"); //if (model.Account == null) // ms.AddModelError("Account", "Заполните поле 'Расчетный счет'"); if (model.Account != null && model.Account.Trim().Length > 23) ms.AddModelError("Account", "Превышено допустимое количество символов!"); //if (model.BankName == null) // ms.AddModelError("BankName", "Заполните поле 'Банк'"); //if (model.BankName != null && model.BankName.Trim().Length > 100) // ms.AddModelError("BankName", "Превышено допустимое количество символов!"); //if (model.BankBIK == null) // ms.AddModelError("BankBIK", "Заполните поле 'Банк БИК'"); //if (model.BankBIK != null && model.BankBIK.Trim().Length > 9) // ms.AddModelError("BankBIK", "Превышено допустимое количество символов!"); //if (model.CorrAccount == null) // ms.AddModelError("CorrAccount", "Заполните поле 'Банк кор/счет'"); if (model.CorrAccount != null && model.CorrAccount.Trim().Length > 23) ms.AddModelError("Name", "Превышено допустимое количество символов!"); if (model.PersonAccount != null && model.PersonAccount.Trim().Length > 23) ms.AddModelError("PersonAccount", "Превышено допустимое количество символов!"); }
/// <summary> /// Проверяем правильность заполнения полей. /// </summary> /// <param name="model">Проверяемая модель.</param> /// <param name="ms">Словарь для сообщений об ошибках.</param> /// <param name="flgFromContract">Признак проверки модели заполняемой в договорах.</param> public void CheckFillFieldsForGpdRefDetail(GpdRefDetailEditModel model, System.Web.Mvc.ModelStateDictionary ms, bool flgFromContract) { string ModelName = flgFromContract ? "DetailEdit." : ""; GetPermission(model); if (model.Operation == 1) { if (model.Name == null) ms.AddModelError(ModelName + "Name", "Заполните поле 'Наименование'!"); if (model.Name != null && model.Name.Trim().Length > 250) ms.AddModelError(ModelName + "Name", "Превышено допустимое количество символов!"); if (model.PersonID == 0) ms.AddModelError(ModelName + "PersonID", "Выберите физическое лицо!"); if (model.PayerID == 0) ms.AddModelError(ModelName + "PayerID", "Укажите плательщика!"); if (model.PayeeID == 0) ms.AddModelError(ModelName + "PayeeID", "Укажите получателя!"); if (model.Account == null) ms.AddModelError(ModelName + "Account", "Укажите номер счета получателя!"); if (model.Account != null && model.Account.Trim().Length > 20) ms.AddModelError(ModelName + "Account", "Превышено допустимое количество символов!"); } else { //if (model.DetailName == null) // ms.AddModelError(ModelName + "DetailName", "Заполните поле 'Наименование'"); //if (model.DetailName != null && model.DetailName.Trim().Length > 150) // ms.AddModelError(ModelName + "DetailName", "Превышено допустимое количество символов!"); //if (model.INN == null) // ms.AddModelError(ModelName + "INN", "Заполните поле 'ИНН'"); //if (model.INN != null && model.INN.Trim().Length > 12) // ms.AddModelError(ModelName + "INN", "Превышено допустимое количество символов!"); //if (model.KPP == null) // ms.AddModelError(ModelName + "KPP", "Заполните поле 'КПП'"); //if (model.KPP != null && model.KPP.Trim().Length > 9) // ms.AddModelError(ModelName + "KPP", "Превышено допустимое количество символов!"); //if (model.DetailAccount == null) // ms.AddModelError(ModelName + "DetailAccount", "Заполните поле 'Расчетный счет'"); //if (model.DetailAccount != null && model.DetailAccount.Trim().Length > 20) // ms.AddModelError(ModelName + "DetailAccount", "Превышено допустимое количество символов!"); //if (model.BankName == null) // ms.AddModelError(ModelName + "BankName", "Заполните поле 'Банк'"); //if (model.BankName != null && model.BankName.Trim().Length > 100) // ms.AddModelError(ModelName + "BankName", "Превышено допустимое количество символов!"); //if (model.BankBIK == null) // ms.AddModelError(ModelName + "BankBIK", "Заполните поле 'Банк БИК'"); //if (model.BankBIK != null && model.BankBIK.Trim().Length > 9) // ms.AddModelError(ModelName + "BankBIK", "Превышено допустимое количество символов!"); //if (model.CorrAccount == null) // ms.AddModelError(ModelName + "CorrAccount", "Заполните поле 'Банк кор/счет'"); //if (model.CorrAccount != null && model.CorrAccount.Trim().Length > 20) // ms.AddModelError(ModelName + "Name", "Превышено допустимое количество символов!"); } //if (model.DTID == 2) //{ // if (model.Code == null) // ms.AddModelError(ModelName + "Code", "Заполните поле 'Код банка'"); // if (model.Code != null && model.Code.Trim().Length > 9) // ms.AddModelError(ModelName + "Name", "Превышено допустимое количество символов!"); //} //else // model.Code = null; if (ms.Count != 0) model.StatusID = 4; UserRole role = CurrentUser.UserRole; model.DetailTypes = GpdRefDetailDao.GetDetailTypes(role, model.DTID, model.TypeName); //физики model.Persons = GpdRefDetailDao.GetPersons(0); //плательщики //model.PayerInfo = GpdRefDetailDao.GetRefDetail(role, 0, 2); //получатели //model.PayeerInfo = GpdRefDetailDao.GetRefDetail(role, 0, 1); //список реквизитов //model.RefDetails = GpdRefDetailDao.GetRefDetail(role, 0, model.DTID); }
/// <summary> /// Проверки при сохранении договора. /// </summary> /// <param name="model"></param> /// <param name="ms"></param> public void CheckFillFieldsForGpdContract(GpdContractEditModel model, System.Web.Mvc.ModelStateDictionary ms) { if (model.StatusID == 4) { if (model.DateBegin == null) ms.AddModelError("DateBegin", "Укажите дату начала действия договора!"); //if (model.DateBegin < DateTime.Today) //&& model.DateBegin.Value.Month != DateTime.Today.Month) // ms.AddModelError("DateBegin", "Дата начала срока действия договора не должна быть меньше текущей!"); if (model.DateEnd == null) ms.AddModelError("DateEnd", "Укажите дату окончания действия договора!"); //if (model.DateEnd < model.DateBegin) // ms.AddModelError("DateEnd", "Дата окончания действия договора должна быть больше, чем дата начала договора!"); } else { if (model.DepartmentId == 0) ms.AddModelError("DepartmentId", "Выберите подразделение!"); else { //проверяем уровень выбранного подразделения if (GpdContractDao.GetDepLevel(model.DepartmentId) != 7) ms.AddModelError("DepartmentId", "Нужно выбрать подразделение седьмого уровня!"); } if (model.PersonID == 0) ms.AddModelError("PersonID", "Выберите физическое лицо из списка!"); if (model.PayerID == 0) ms.AddModelError("PayerID", "Укажите плательщика!"); if (model.PayeeID == 0) ms.AddModelError("PayeeID", "Укажите получателя!"); if (model.CTID == 0) ms.AddModelError("CTID", "Выберите вид начисления из списка!"); if (model.NameContract == null) ms.AddModelError("NameContract", "Заполните поле 'Наименование договора'!"); if (model.NumContract == null) ms.AddModelError("NumContract", "Заполните поле '№ договора'!"); if (model.DateBegin == null) ms.AddModelError("DateBegin", "Укажите дату начала действия договора!"); if (!model.DateP.HasValue) { if (model.DateBegin.HasValue && model.DateBegin.Value.Year < 2014) //временно разрешили вводить договоры задним числом //if (model.DateBegin < DateTime.Today) //&& model.DateBegin.Value.Month != DateTime.Today.Month) ms.AddModelError("DateBegin", "Дата начала срока действия договора не должна быть меньше текущей!"); } if (model.DateEnd == null) ms.AddModelError("DateEnd", "Укажите дату окончания действия договора!"); if (model.DateEnd < model.DateBegin) ms.AddModelError("DateEnd", "Дата окончания действия договора должна быть больше, чем дата начала договора!"); if (model.DateP != null) { if (model.DateP <= model.DateEnd) ms.AddModelError("DateP", "Дата пролонгации должна быть больше даты окончания действия договора!"); } if (model.PaymentPeriodID == 0) ms.AddModelError("PaymentPeriodID", "Укажите срок оплаты!"); //if (model.GPDID == null) // ms.AddModelError("GPDID", "Заполните поле 'ID физического лица (ГПД) в ЭССД'!"); //if (model.GPDContractID == null) // ms.AddModelError("GPDContractID", "Заполните поле 'ID договора с физ. лицом (ГПД) в ЭССД'!"); if (model.PurposePayment == null) ms.AddModelError("PurposePayment", "Заполните поле 'Назначение платежа'!"); if (model.PurposePayment != null) { //если при создании жмут сразу на занести, то формируем поле, которое автоматически формируется, если жать на кнопку черновик if (model.PurposePaymentPart == null) { model.PurposePaymentPart = "Договор ГПХ # " + (model.Account != null && model.Account.Trim().Length != 0 ? model.Account : model.PayeeAccount) + " ## " + GpdContractDao.GetPersonName(model.PersonID) + " *"; } if (model.PurposePaymentPart.Trim().Length + model.PurposePayment.Trim().Length > 210) ms.AddModelError("PurposePayment", "Превышено количество символов!"); } if (model.Amount == 0) ms.AddModelError("Amount", "Сумма не должна быть равна нулю!"); } SetGpdContractEditDropDowns(model); }
/// <summary> /// Validates the model. /// </summary> /// <param name="modelState">Controller.ModelState</param> /// <param name="outboundCommuteStart">If the model is valid, will contain the start time of the outbound commute.</param> /// <param name="returnCommuteStart">If the model is valid, will contain the start time of the return commute.</param> public void Validate(System.Web.Mvc.ModelStateDictionary modelState, out DateTime outboundCommuteStart, out DateTime returnCommuteStart) { if (d == 0) { modelState.AddModelError("WorkingDays", "Please select at least one workday."); } if (!y.HasValue || !x.HasValue) { modelState.AddModelError("Location", "Sorry, we couldn't figure out your location."); // TODO: Actually this is kind of a fatal error } var today = DateTime.Now.Date; if (UIHelpers.TryGetTime(h, out outboundCommuteStart)) { today.AddHours(outboundCommuteStart.Hour).AddMinutes(outboundCommuteStart.Minute); } if (UIHelpers.TryGetTime(w, out returnCommuteStart)) { today.AddHours(returnCommuteStart.Hour).AddMinutes(returnCommuteStart.Minute); } if (Utils.GetTimeOfDayDifference(outboundCommuteStart, returnCommuteStart) <= new TimeSpan(0, j, 0)) { modelState.AddModelError("JourneysOverlap", "Your journeys overlap one another. That can't be right."); } }
public void Validate(System.Web.Mvc.ModelStateDictionary modelState) { ValidationCheck.CheckErrors(this, modelState); //check Login if (!ValidationCheck.IsEmpty(this.Login) && !ProjectConfig.Config.DataProvider.GetInstance().UserRepository.ValidateLogin(this.Login, ID)) { modelState.AddModelError("Login", "This login already present in system"); } //check Email if (!ValidationCheck.IsEmpty(this.Email) && !ProjectConfig.Config.DataProvider.GetInstance().UserRepository.ValidateEmail(this.Email, ID)) { modelState.AddModelError("Email", "This email already present in system"); } if (!String.Equals(this.Password, this.ConfirmPassword, StringComparison.Ordinal)) { modelState.AddModelError("Password", "The password and confirmation password do not match."); modelState.AddModelError("ConfirmPassword", ""); } if (!String.Equals(this.Email, this.ConfirmEmail, StringComparison.Ordinal)) { modelState.AddModelError("Email", "The email and confirmation email do not match."); modelState.AddModelError("ConfirmEmail", ""); } if (this.BillingState=="--" && this.BillingCountry == 1) { modelState.AddModelError("BillingState", "'State' is required"); } if (this.ShippingState=="--" && this.ShippingCountry == 1 && !this.BillingLikeShipping) { modelState.AddModelError("ShippingState", "'State' is required"); } if (this.BillingState!="--" && this.BillingCountry > 1) { modelState.AddModelError("BillingState", "'State' must have value '--'"); } if (this.ShippingState!="--" && this.ShippingCountry > 1 && !this.BillingLikeShipping) { modelState.AddModelError("ShippingState", "'State' must have value '--'"); } if (this.BillingState=="--" && this.BillingCountry > 1 && String.IsNullOrEmpty(this.BillingInternationalState)) { modelState.AddModelError("BillingInternationalState", "'International State' is required"); } if (this.ShippingState=="--" && this.ShippingCountry > 1 && String.IsNullOrEmpty(this.ShippingInternationalState) && !this.BillingLikeShipping) { modelState.AddModelError("ShippingInternationalState", "'International State' is required"); } }
/// <inheritDoc/> public virtual void ValidateProfileData(ProfileEditViewModel viewModel, System.Web.Mvc.ModelStateDictionary modelState) { List<ProfileBindingsContract> profileBindingsList = this.GetDeserializedProfileBindings(); foreach (var profile in this.SelectedUserProfiles) { var profileBindings = profileBindingsList.SingleOrDefault(p=>p.ProfileType == profile.GetType().FullName); if (profileBindings != null) { var requiredProperties = profileBindings.Properties.Where(p => p.Required); foreach (var prop in requiredProperties) { string propValue; if (!viewModel.Profile.TryGetValue(prop.Name, out propValue) || string.IsNullOrWhiteSpace(propValue)) { modelState.AddModelError(string.Format("Profile[{0}]", prop.Name), string.Format(Res.Get<ProfileResources>().RequiredProfileField, prop.Name)); } } } } var minPassLength = UserManager.GetManager(this.MembershipProvider).MinRequiredPasswordLength; if (!string.IsNullOrEmpty(viewModel.OldPassword) && !string.IsNullOrEmpty(viewModel.NewPassword) && !string.IsNullOrEmpty(viewModel.RepeatPassword)) { if (viewModel.NewPassword.Length < minPassLength) { modelState.AddModelError("NewPassword", string.Format(Res.Get<ProfileResources>().MinimumPasswordLength, minPassLength)); } if (viewModel.RepeatPassword.Length < minPassLength) { modelState.AddModelError("RepeatPassword", string.Format(Res.Get<ProfileResources>().MinimumPasswordLength, minPassLength)); } } }
public virtual void CopyErrorsToModelState(System.Web.Mvc.ModelStateDictionary ModelState) { if (Errors.Any()) { foreach (var err in Errors) { ModelState.AddModelError(err.PropertyName, err.ErrorMessage); } } }
//ValidateWithoutConfim public void ValidateWithoutConfim(System.Web.Mvc.ModelStateDictionary modelState) { ValidationCheck.CheckErrors(this, modelState, true); //check Login if (!ValidationCheck.IsEmpty(this.Login) && !ProjectConfig.Config.DataProvider.GetInstance().UserRepository.ValidateLogin(this.Login, ID)) { modelState.AddModelError("Login", "Login already exists. Please enter a different user name."); } //check Email if (!ValidationCheck.IsEmpty(this.Email) && !ProjectConfig.Config.DataProvider.GetInstance().UserRepository.ValidateEmail(this.Email, ID)) { modelState.AddModelError("Email", "A username for that e-mail address already exists. Please enter a different e-mail address."); } }
//ValidateWithConfim (Email, Password) public void ValidateWithConfim(System.Web.Mvc.ModelStateDictionary modelState) { ValidationCheck.CheckErrors(this, modelState, true); //check Login if (!ValidationCheck.IsEmpty(this.Login) && !ProjectConfig.Config.DataProvider.GetInstance().UserRepository.ValidateLogin(this.Login, ID)) { modelState.AddModelError("Login", "Login already exists. Please enter a different user name."); } //check Email if (!ValidationCheck.IsEmpty(this.Email) && !ProjectConfig.Config.DataProvider.GetInstance().UserRepository.ValidateEmail(this.Email, ID)) { modelState.AddModelError("Email", "A username for that e-mail address already exists. Please enter a different e-mail address."); } // check Email and Confirm Email if (!String.Equals(this.Email, this.ConfirmEmail, StringComparison.Ordinal)) { modelState.AddModelError("Email", "The Email and confirmation Email do not match."); modelState.AddModelError("ConfirmEmail", ""); } // check Password and Confirm Password if (!String.Equals(this.Password, this.ConfirmPassword, StringComparison.Ordinal)) { modelState.AddModelError("Password", "The password and confirmation password do not match."); modelState.AddModelError("ConfirmPassword", ""); } }
/// <summary> /// Updates the PostalCode Model error to be more specific if possible /// </summary> /// <param name="modelState"> /// The ModelStateDictionary to be modified /// </param> public void UpdatePostalCodeModelError(System.Web.Mvc.ModelStateDictionary modelState) { if (!modelState.IsValidField(nameof(PostalCode)) && !string.IsNullOrWhiteSpace(CountryCode)) { // Remove the default validation message to provide a more specific one. modelState.Remove(nameof(PostalCode)); modelState.AddModelError( nameof(PostalCode), CountryCode == "CA" ? "You must provide a valid Canadian postal code in the format A0A 0A0" : "You must provide a valid Zip Code in the format 12345 or 12345-6789"); } }