Ejemplo n.º 1
0
        private void AddValidationRules()
        {
            Validator.AddRule(() => Name, () => RuleResult.Assert(!string.IsNullOrWhiteSpace(Name), "Name is required"));
            Validator.AddRule(() => Catagory, () => RuleResult.Assert((Catagory != null), "Catagory is required"));
            Validator.AddRule(() => Email, () => RuleResult.Assert(!string.IsNullOrWhiteSpace(Email), "Email is required"));
            Validator.AddRule(() => Email,
                              () =>
            {
                const string regexPattern =
                    @"^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$";
                return(RuleResult.Assert(Regex.IsMatch(Email, regexPattern),
                                         "Email must by a valid email address"));
            });
            Validator.AddAsyncRule(() => Email,
                                   async() => {
                bool isAvailable = await administrationService.CheckEmailIsAvailable(Email, this.artist);



                return(RuleResult.Assert(isAvailable,
                                         string.Format("Email {0} is taken. Please choose a different one.", Email)));
            });
        }