/// <summary>
        /// The logic that runs before the action.
        /// </summary>
        internal override void InternalOnBefore()
        {
            base.InternalOnBefore();

            try
            {
                var validationControl = View.ValidationControl;

                if (validationControl == null)
                {
                    return;
                }

                var results = validationControl.ValidateRequiredFields();

                foreach (var result in results)
                {
                    var field    = result.Value;
                    var entityID = result.Key;

                    var requiredField = string.Format(CultureInfo.CurrentCulture, Resources.RequiredField, field);
                    var validation    = ValidationFactory.Create(field, requiredField, entityID, ValidationSeverity.Error);

                    _validationResults.InternalAdd(validation);
                }
            }
            catch (Exception exception)
            {
                CanComplete = false;
                ExceptionHandler.Handle(exception, Resources.ErrorMessageAsync);
            }
        }