예제 #1
0
        public void EmailAddressFieldValidator_WithLavaAllowedAndHasLavaContent_IsValid()
        {
            var validator = new EmailAddressFieldValidator()
            {
                LavaIsAllowed = true, MultipleAddressesAreAllowed = false
            };

            var result = validator.Validate("{% if CurrentPerson.Email contains 'rocksolid.org' %}{{ CurrentPerson.Email }}{% endif %}");

            Assert.AreEqual(EmailFieldValidationResultSpecifier.Valid, result);
        }
예제 #2
0
        public void EmailAddressFieldValidator_WithLavaAllowedAndHasNoLavaContent_IsValid()
        {
            var validator = new EmailAddressFieldValidator()
            {
                LavaIsAllowed = true, MultipleAddressesAreAllowed = false
            };

            var result = validator.Validate("*****@*****.**");

            Assert.AreEqual(EmailFieldValidationResultSpecifier.Valid, result);
        }
예제 #3
0
        public void EmailAddressFieldValidator_WithSingleAddressHavingExternalWhitespace_IsValid()
        {
            var validator = new EmailAddressFieldValidator()
            {
                MultipleAddressesAreAllowed = false
            };

            var result = validator.Validate("  [email protected]   ");

            Assert.AreEqual(EmailFieldValidationResultSpecifier.Valid, result);
        }
예제 #4
0
        public void EmailAddressFieldValidator_WithSingleAddressContainingHyphen_IsValid()
        {
            var validator = new EmailAddressFieldValidator()
            {
                LavaIsAllowed = true, MultipleAddressesAreAllowed = false
            };

            var result = validator.Validate("*****@*****.**");

            Assert.AreEqual(EmailFieldValidationResultSpecifier.Valid, result);
        }
예제 #5
0
        public void EmailAddressFieldValidator_WithMultipleAddressesDisallowedAndContainsTwoAddresses_IsInvalid()
        {
            var validator = new EmailAddressFieldValidator()
            {
                MultipleAddressesAreAllowed = false
            };

            var result = validator.Validate(" [email protected], [email protected] ");

            Assert.AreEqual(EmailFieldValidationResultSpecifier.InvalidMultipleAddressesNotAllowed, result);
        }
예제 #6
0
        public void EmailAddressFieldValidator_WithMultipleAddressesAllowedAndContainsTwoAddresses_IsValid()
        {
            var validator = new EmailAddressFieldValidator()
            {
                MultipleAddressesAreAllowed = true
            };

            var result = validator.Validate("[email protected], [email protected]");

            Assert.AreEqual(EmailFieldValidationResultSpecifier.Valid, result);
        }
예제 #7
0
        public void EmailAddressFieldValidator_WithLavaAllowedAndVariableNestedInBlock_IsValid()
        {
            var validator = new EmailAddressFieldValidator()
            {
                LavaIsAllowed = true, MultipleAddressesAreAllowed = false
            };

            var result = validator.Validate("{% if CurrentPerson.Email contains 'fakeinbox.com' %}fake_{{ CurrentPerson.Email }}{% endif %}");

            Assert.AreEqual(EmailFieldValidationResultSpecifier.Valid, result);
        }
예제 #8
0
        public void EmailAddressFieldValidator_WithLavaAllowedAndContainsShortcode_IsValid()
        {
            var validator = new EmailAddressFieldValidator()
            {
                LavaIsAllowed = true, MultipleAddressesAreAllowed = false
            };

            var result = validator.Validate("{[ mycustomemailshortcode ]}");

            Assert.AreEqual(EmailFieldValidationResultSpecifier.Valid, result);
        }
예제 #9
0
        /// <summary>
        /// Tests the value to ensure that it is a valid value.  If not, message will indicate why
        /// </summary>
        /// <param name="value"></param>
        /// <param name="required"></param>
        /// <param name="message"></param>
        /// <returns></returns>
        public override bool IsValid(string value, bool required, out string message)
        {
            if (!string.IsNullOrWhiteSpace(value))
            {
                var result = EmailAddressFieldValidator.Validate(value, allowMultipleAddresses: false, allowLava: false);

                if (result == EmailFieldValidationResultSpecifier.Valid)
                {
                    message = "The email address provided is valid.";
                    return(true);
                }
            }

            return(base.IsValid(value, required, out message));
        }
예제 #10
0
        /// <summary>
        /// Called by the ASP.NET page framework to notify server controls that use composition-based implementation to create any child controls they contain in preparation for posting back or rendering.
        /// </summary>
        protected override void CreateChildControls()
        {
            base.CreateChildControls();

            _regexValidator    = new RegularExpressionValidator();
            _regexValidator.ID = this.ID + "_RE";
            _regexValidator.ControlToValidate = this.ID;
            _regexValidator.Display           = ValidatorDisplay.Dynamic;
            _regexValidator.CssClass          = "validation-error help-inline";
            _regexValidator.ErrorMessage      = "Email address is not valid";

            _regexValidator.ValidationExpression = EmailAddressFieldValidator.GetRegularExpression(this.AllowMultiple, this.AllowLava);

            Controls.Add(_regexValidator);
        }