public ValidationResultList Validate(ValidationOptions options) { var list = new ValidationResultList(); foreach (var form in Steps.Select(s => s.Form)) { var validationResult = form.Validate(new ValidationOptions { ValidateFiles = options.ValidateFiles, ValidateCaptcha = false }); list.AddRange(validationResult); } if (options.ValidateCaptcha && RequiresCaptcha) { var requiresCaptchaAttr = new RequiresCaptchaAttribute(); var form = new HttpContextWrapper(HttpContext.Current); requiresCaptchaAttr.Validate(form, list); } return(list); }
public void AddValidationResults(IEnumerable <ICommandValidationResult> validationResults) { if (validationResults == null) { return; } ValidationResultList.AddRange(validationResults); }
public ValidationResultList Validate(ValidationOptions options) { var validationList = new ValidationResultList(); if (SubmittedValues == null || SubmittedValues.AllKeys.Length == 0) { return(validationList); } if (Model.OnValidateHandler != null) { var e = new FormValidationEventArgs(SubmittedValues); Model.OnValidateHandler(this, e); if (e.Cancel) { return(validationList); } } EnsureRulesList(); foreach (var kvp in _ruleList) { if (!options.ValidateFiles) { var valueType = kvp.Key.ValueType; if (valueType == typeof(FormFile) || valueType == typeof(IEnumerable <FormFile>)) { continue; } } var result = ValidationResultList.GetFormValidationResult(kvp.Value, false); validationList.AddRange(result); } if (options.ValidateCaptcha) { var requiresCaptchaAttr = Attributes.OfType <RequiresCaptchaAttribute>().SingleOrDefault(); if (requiresCaptchaAttr != null) { var form = new HttpContextWrapper(HttpContext.Current); requiresCaptchaAttr.Validate(form, validationList); } } return(validationList); }