public override void Validate(ValidateInputContext context)
        {
            //if no file uploaded
            if (string.IsNullOrWhiteSpace(context.Values[context.FieldName]))
            {
                return;
            }

            var fileSize = context.Values[context.FieldName + ":Size"];

            int contentLength;

            if (!int.TryParse(fileSize, out contentLength))
            {
                var message = GetValidationMessage(context, "{0} is an invalid file.");
                context.ModelState.AddModelError(context.FieldName, message.Text);
            }

            var contentLengthMB = contentLength / 1048576;

            if (contentLengthMB > MaxSize)
            {
                var message = GetValidationMessage(context, "{0} cannot be more than {1} MB.");
                context.ModelState.AddModelError(context.FieldName, message.Text);
            }
        }
 public void Init()
 {
     _context = new ValidateInputContext {
         ModelState = new ModelStateDictionary(), FieldName = "Email Address"
     };
     _validator = new EmailAddress();
 }
        public override void Validating(FormValidatingEventContext context)
        {
            var form         = context.Form;
            var values       = context.Values;
            var formService  = context.FormService;
            var formElements = formService.GetFormElements(form);
            var modelState   = context.ModelState;

            // Get the validators for each element and validate its submitted values.
            foreach (var element in formElements)
            {
                var validators     = formService.GetValidators(element);
                var attemptedValue = values[element.Name];

                foreach (var validator in validators)
                {
                    var validateContext = new ValidateInputContext {
                        ModelState     = modelState,
                        AttemptedValue = attemptedValue,
                        FieldName      = element.Name,
                        Values         = values,
                        Updater        = context.Updater
                    };
                    validator.Validate(element, validateContext);
                }
            }
        }
 public override void Validate(ValidateInputContext context)
 {
     if (String.IsNullOrWhiteSpace(context.AttemptedValue))
     {
         var message = GetValidationMessage(context);
         context.ModelState.AddModelError(context.FieldName, message.Text);
     }
 }
 public override void Validate(ValidateInputContext context)
 {
     if (!Regex.IsMatch(context.AttemptedValue, Pattern, RegexOptions))
     {
         var message = GetValidationMessage(context);
         context.ModelState.AddModelError(context.FieldName, message.Text);
     }
 }
        public override void Validate(ValidateInputContext context)
        {
            var targetValue = context.Values[TargetName];

            if (!String.Equals(context.AttemptedValue, targetValue))
            {
                var message = GetValidationMessage(context);
                context.ModelState.AddModelError(context.FieldName, message.Text);
            }
        }
Example #7
0
 public override void Validate(ValidateInputContext context)
 {
     if (string.IsNullOrWhiteSpace(context.AttemptedValue))
     {
         //check OtherFieldName has value
         var value = context.Values[OtherFieldName];
         if (string.IsNullOrWhiteSpace(OtherFieldName) || string.IsNullOrWhiteSpace(value))
         {
             var message = GetValidationMessage(context);
             context.ModelState.AddModelError(context.FieldName, message.Text);
         }
     }
 }
        protected override void OnValidate(ReCaptcha element, ValidateInputContext context)
        {
            var workContext = _workContextAccessor.GetContext();
            var settings    = workContext.CurrentSite.As <ReCaptchaSettingsPart>();

            if (settings.TrustAuthenticatedUsers && workContext.CurrentUser != null)
            {
                return;
            }

            var httpContext = workContext.HttpContext;
            var response    = context.Values["g-recaptcha-response"];

            if (context.ModelState.IsValid)
            {
                try {
                    var result = ExecuteValidateRequest(
                        settings.PrivateKey,
                        httpContext.Request.ServerVariables["REMOTE_ADDR"],
                        response
                        );

                    ReCaptchaElementResponseModel responseModel = Newtonsoft.Json.JsonConvert.DeserializeObject <ReCaptchaElementResponseModel>(result);

                    if (!responseModel.Success)
                    {
                        for (int i = 0; i < responseModel.ErrorCodes.Length; i++)
                        {
                            if (responseModel.ErrorCodes[i] == "missing-input-response")
                            {
                                var validationSettings = element.ValidationSettings;
                                var validationMessage  = validationSettings.CustomValidationMessage.WithDefault("The Captcha field is required");
                                context.ModelState.AddModelError("g-recaptcha-response", T(validationMessage).Text);
                            }
                            else
                            {
                                var validationSettings = element.ValidationSettings;
                                var validationMessage  = validationSettings.CustomValidationMessage.WithDefault("There was an error with the Captcha please try again");
                                context.ModelState.AddModelError("g-recaptcha-response", T(validationMessage).Text);
                                Logger.Information("Error occurred while submitting a reCaptcha: " + responseModel.ErrorCodes[i]);
                            }
                        }
                    }
                }
                catch (Exception e) {
                    Logger.Error(e, "An unexcepted error occurred while submitting a reCaptcha");
                    context.ModelState.AddModelError("recaptcha_response_field", T("There was an error while validating the Captcha image.").Text);
                }
            }
        }
        public void Validate(FormElement element, ValidateInputContext context)
        {
            OnValidate((TElement)element, context);

            var rules = GetValidationRules((TElement)element);

            foreach (var rule in rules)
            {
                rule.Validate(context);

                if (!context.ModelState.IsValid)
                {
                    break;
                }
            }
        }
        public override void Validate(ValidateInputContext context)
        {
            if (string.IsNullOrWhiteSpace(context.AttemptedValue))
            {
                return;
            }

            var fileTypes = FileTypes.Split(',');

            var fileExtension = Path.GetExtension(context.AttemptedValue);

            if (!fileTypes.Any(x => x.Equals(fileExtension, StringComparison.OrdinalIgnoreCase)))
            {
                var message = GetValidationMessage(context);
                context.ModelState.AddModelError(context.FieldName, message.Text);
            }
        }
Example #11
0
        public override void Validate(ValidateInputContext context)
        {
            if (Minimum != null)
            {
                if (context.AttemptedValue == null || context.AttemptedValue.Length < Minimum)
                {
                    var message = GetValidationMessage(context);
                    context.ModelState.AddModelError(context.FieldName, message.Text);
                }
            }

            if (Maximum != null)
            {
                if (context.AttemptedValue == null || context.AttemptedValue.Length > Maximum)
                {
                    var message = GetValidationMessage(context);
                    context.ModelState.AddModelError(context.FieldName, message.Text);
                }
            }
        }
Example #12
0
        protected override void OnValidate(ReCaptcha element, ValidateInputContext context)
        {
            var workContext = _workContextAccessor.GetContext();
            var settings    = workContext.CurrentSite.As <ReCaptchaSettingsPart>();

            if (settings.TrustAuthenticatedUsers && workContext.CurrentUser != null)
            {
                return;
            }

            var httpContext = workContext.HttpContext;
            var response    = context.Values["recaptcha_response_field"];
            var challenge   = context.Values["recaptcha_challenge_field"];

            if (context.ModelState.IsValid)
            {
                try {
                    var result = ExecuteValidateRequest(
                        settings.PrivateKey,
                        httpContext.Request.ServerVariables["REMOTE_ADDR"],
                        challenge,
                        response
                        );

                    if (!HandleValidateResponse(httpContext, result))
                    {
                        var validationSettings = element.ValidationSettings;
                        var validationMessage  = validationSettings.CustomValidationMessage.WithDefault("The text you entered in the Captcha field does not match the image. Please try again.");
                        context.ModelState.AddModelError("recaptcha_response_field", T(validationMessage).Text);
                    }
                }
                catch (Exception e) {
                    Logger.Error(e, "An unexcepted error occured while submitting a reCaptcha");
                    context.ModelState.AddModelError("recaptcha_response_field", T("There was an error while validating the Captcha image.").Text);
                }
            }
        }
 protected virtual void OnValidate(TElement element, ValidateInputContext context)
 {
 }
Example #14
0
 public abstract void Validate(ValidateInputContext context);