コード例 #1
0
ファイル: SignUpValidator.cs プロジェクト: RomanNure/GoTrip
        public SignUpValidator(Entry login, Entry password, Entry passwordConfirm, Entry email, ValidationHandler <Entry> validHandler, ValidationHandler <Entry> invalidHandler)
        {
            FieldValidationHandler <Entry> LoginValidation = new FieldValidationHandler <Entry>(
                Login => Login.Text != null && UserFieldsPatterns.LOGIN_PATTERN.IsMatch(Login.Text),
                invalidHandler, validHandler);

            FieldValidationHandler <Entry> PasswordValidation = new FieldValidationHandler <Entry>(
                Password => Password.Text != null && UserFieldsPatterns.PASSWORD_PATTERN.IsMatch(Password.Text),
                invalidHandler, validHandler);

            FieldValidationHandler <Entry> PasswordConfirmValidation = new FieldValidationHandler <Entry>(
                PasswordConfirm => PasswordConfirm.Text != null && UserFieldsPatterns.PASSWORD_PATTERN.IsMatch(PasswordConfirm.Text) && PasswordConfirm.Text == password.Text,
                invalidHandler, validHandler);

            FieldValidationHandler <Entry> EmailValidation = new FieldValidationHandler <Entry>(
                Email => Email.Text != null && UserFieldsPatterns.EMAIL_PATTERN.IsMatch(Email.Text),
                invalidHandler, validHandler);

            Constants.Callback <Entry> SubscribeEvents = T =>
            {
                T.Unfocused   += (sender, e) => ValidateId(GetId(sender));
                T.TextChanged += (sender, e) => ValidateId(GetId(sender));
            };

            Add <Entry>(LoginValidation, login, SubscribeEvents);
            Add <Entry>(PasswordValidation, password, SubscribeEvents);
            Add <Entry>(PasswordConfirmValidation, passwordConfirm, SubscribeEvents);
            Add <Entry>(EmailValidation, email, SubscribeEvents);
        }
コード例 #2
0
        public AuthFormValidator(T loginInput, T passwordInput) : base()
        {
            FieldValidationHandler <T> loginValidation =
                new FieldValidationHandler <T>(input => AuthFormPatterns.LOGIN_PATTERN.IsMatch(input.Text), OnInvalid, OnValid);

            FieldValidationHandler <T> passwordValidation =
                new FieldValidationHandler <T>(input => AuthFormPatterns.PASSWORD_PATTERN.IsMatch(input.Text), OnInvalid, OnValid);

            Add(loginValidation, loginInput, OnChangedEventValidationBind);
            Add(passwordValidation, passwordInput, OnChangedEventValidationBind);
        }
コード例 #3
0
        public void ValidateToFirstFalseTest()
        {
            FieldValidationHandler <bool> fieldValidationHandler = new FieldValidationHandler <bool>(z => z, null);
            bool validated1 = true;
            bool validated2 = false;
            bool validated3 = true;

            FormValidator formValidator = new FormValidator();

            formValidator.Add <bool>(fieldValidationHandler, validated1);
            formValidator.Add <bool>(fieldValidationHandler, validated2);
            formValidator.Add <bool>(fieldValidationHandler, validated3);

            Assert.IsFalse(formValidator.ValidateToFirstInvalid());
        }
コード例 #4
0
        public void ValidateAllTrueTest()
        {
            FieldValidationHandler <bool> fieldValidationHandler = new FieldValidationHandler <bool>(z => z, null);
            bool validated1 = true;
            bool validated2 = true;
            bool validated3 = true;

            FormValidator formValidator = new FormValidator();

            formValidator.Add <bool>(fieldValidationHandler, validated1);
            formValidator.Add <bool>(fieldValidationHandler, validated2);
            formValidator.Add <bool>(fieldValidationHandler, validated3);

            Assert.IsTrue(formValidator.ValidateAll());
        }
コード例 #5
0
        public void TestMethod_AddInt()
        {
            FieldValidationHandler <int> fieldValidationHandler = new FieldValidationHandler <int>((z) => true, null);
            int validated = 1;

            FormValidator formValidator = new FormValidator();

            int x = formValidator.Add <int>(fieldValidationHandler, validated);
            int y = formValidator.Add <int>(fieldValidationHandler, validated);

            Assert.IsTrue(formValidator.GetId <int>(validated) == x);
            Assert.IsFalse(formValidator.GetId <int>(validated) == y);

            Assert.IsTrue(y == -1);
        }
コード例 #6
0
        public void TestMethod_AddTwice()
        {
            FieldValidationHandler <string> fieldValidationHandler = new FieldValidationHandler <string>((z) => true, null);
            string validated = "true";

            FormValidator formValidator = new FormValidator();

            int x = formValidator.Add <string>(fieldValidationHandler, validated);
            int y = formValidator.Add <string>(fieldValidationHandler, validated);

            Assert.IsTrue(formValidator.GetId <string>(validated) == x);
            Assert.IsFalse(formValidator.GetId <string>(validated) == y);

            Assert.IsTrue(y == -1);
        }
コード例 #7
0
        public PaymentFormValidator(T firstNameInput, T lastNameInput, T patronymicInput)
        {
            FieldValidationHandler <T> firstNameValidation =
                new FieldValidationHandler <T>(input => PaymentFormPatterns.FIRST_NAME_PATTERN.IsMatch(firstNameInput.Text), OnInvalid, OnValid);

            FieldValidationHandler <T> lastNameValidation =
                new FieldValidationHandler <T>(input => PaymentFormPatterns.LAST_NAME_PATTERN.IsMatch(lastNameInput.Text), OnInvalid, OnValid);

            FieldValidationHandler <T> patronymicValidation =
                new FieldValidationHandler <T>(input => patronymicInput.Text == string.Empty ||
                                               PaymentFormPatterns.PATRONYMIC_PATTERN.IsMatch(patronymicInput.Text), OnInvalid, OnValid);

            Add(firstNameValidation, firstNameInput, OnChangedEventValidationBind);
            Add(lastNameValidation, lastNameInput, OnChangedEventValidationBind);
            Add(patronymicValidation, patronymicInput, OnChangedEventValidationBind);
        }
コード例 #8
0
        public void RemoveTest()
        {
            FieldValidationHandler <int> fieldValidationHandler = new FieldValidationHandler <int>((z) => true, null);
            int validated1 = 1;
            int validated2 = 2;

            FormValidator formValidator = new FormValidator();

            int x = formValidator.Add <int>(fieldValidationHandler, validated1);
            int y = formValidator.Add <int>(fieldValidationHandler, validated2);

            Assert.IsTrue(formValidator.Remove(x));  //removed
            Assert.IsFalse(formValidator.Remove(x)); //not removed

            Assert.IsTrue(formValidator.ValidateId(x));
            Assert.IsTrue(formValidator.ValidateId(y));
        }
コード例 #9
0
        public void AfterDeletingValidateTest()
        {
            FieldValidationHandler <bool> fieldValidationHandler = new FieldValidationHandler <bool>(z => z, null);
            bool validated1 = true;
            bool validated2 = false;
            bool validated3 = true;

            FormValidator formValidator = new FormValidator();

            int i1 = formValidator.Add <bool>(fieldValidationHandler, validated1);
            int i2 = formValidator.Add <bool>(fieldValidationHandler, validated2);
            int i3 = formValidator.Add <bool>(fieldValidationHandler, validated3);

            formValidator.Remove(i2);

            Assert.IsTrue(formValidator.ValidateAll());
            Assert.IsTrue(formValidator.ValidateToFirstInvalid());
            Assert.IsTrue(formValidator.ValidateId(i2));
        }
コード例 #10
0
        public LogInValidator(Entry login, Entry password, ValidationHandler <Entry> validHandler, ValidationHandler <Entry> invalidHandler)
        {
            FieldValidationHandler <Entry> LoginValidation = new FieldValidationHandler <Entry>(
                Login => Login.Text != null && UserFieldsPatterns.LOGIN_PATTERN.IsMatch(Login.Text),
                invalidHandler, validHandler);

            FieldValidationHandler <Entry> PasswordValidation = new FieldValidationHandler <Entry>(
                Password => Password.Text != null && UserFieldsPatterns.PASSWORD_PATTERN.IsMatch(Password.Text),
                invalidHandler, validHandler);

            Constants.Callback <Entry> SubscribeEvents = T =>
            {
                T.Unfocused   += (sender, e) => ValidateId(GetId(sender));
                T.TextChanged += (sender, e) => ValidateId(GetId(sender));
            };

            Add <Entry>(LoginValidation, login, SubscribeEvents);
            Add <Entry>(PasswordValidation, password, SubscribeEvents);
        }
コード例 #11
0
        public EditProfileValidator(Entry firstName, Entry lastName, Entry phone, ValidationHandler <Entry> validHandler, ValidationHandler <Entry> invalidHandler)
        {
            FieldValidationHandler <Entry> FirstNameValidation = new FieldValidationHandler <Entry>(
                FirstName => FirstName.Text != null && UserFieldsPatterns.FIRST_NAME_PATTERN.IsMatch(FirstName.Text),
                invalidHandler, validHandler);

            FieldValidationHandler <Entry> LastNameValidation = new FieldValidationHandler <Entry>(
                LastName => LastName.Text != null && UserFieldsPatterns.LAST_NAME_PATTERN.IsMatch(LastName.Text),
                invalidHandler, validHandler);

            FieldValidationHandler <Entry> PhoneValidation = new FieldValidationHandler <Entry>(
                Phone => Phone.Text != null && UserFieldsPatterns.PHONE_PATTERN.IsMatch(Phone.Text),
                invalidHandler, validHandler);

            Constants.Callback <Entry> SubscribeEvents = T =>
            {
                T.Unfocused   += (sender, e) => ValidateId(GetId(sender));
                T.TextChanged += (sender, e) => ValidateId(GetId(sender));
            };

            Add <Entry>(FirstNameValidation, firstName, SubscribeEvents);
            Add <Entry>(LastNameValidation, lastName, SubscribeEvents);
            Add <Entry>(PhoneValidation, phone, SubscribeEvents);
        }
コード例 #12
0
        public void TestMethod_ValidNullPredicate()
        {
            FieldValidationHandler <string> fieldValidationHandler = new FieldValidationHandler <string>(null, null);

            Assert.IsTrue(fieldValidationHandler.Validate("test"));
        }
コード例 #13
0
        public void TestMethod_ValidNullString()
        {
            FieldValidationHandler <string> fieldValidationHandler = new FieldValidationHandler <string>((x) => true, null);

            Assert.IsTrue(fieldValidationHandler.Validate(null as string));
        }
コード例 #14
0
        public void TestMethod_ValidInt()
        {
            FieldValidationHandler <int> fieldValidationHandler = new FieldValidationHandler <int>((x) => true, null);

            Assert.IsTrue(fieldValidationHandler.Validate(1));
        }