Example #1
0
        public override System.Windows.Controls.ValidationResult Validate(object value, CultureInfo cultureInfo)
        {
            var validationResult = new System.Windows.Controls.ValidationResult(true, null);

            if (value != null)
            {
                String text = value.ToString();
                if (!string.IsNullOrEmpty(text))
                {
                    IPAddress dummy = null;
                    if (!IPAddress.TryParse(text, out dummy))
                    {
                        validationResult = new System.Windows.Controls.ValidationResult(false, "Invalid IP Address!");
                    }
                }
            }

            return(validationResult);
        }
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public bool IsValid()
        {
            bool result = true;

            foreach (KeyValuePair <string, List <ValidationRule> > kvp in this.rules)
            {
                foreach (ValidationRule rule in kvp.Value)
                {
                    System.Windows.Controls.ValidationResult vresult = rule.Validate(this.properties[kvp.Key].GetValue(this.CurrentItem, null), System.Globalization.CultureInfo.CurrentUICulture);
                    if (vresult.IsValid == false)
                    {
                        result = false;
                        if (!Validation.GetHasError(this.controls[kvp.Key]))
                        {
                            Validation.MarkInvalid(this.bindings[kvp.Key], new ValidationError(rule, this.bindings[kvp.Key].ParentBindingBase, vresult.ErrorContent, null));
                        }
                    }
                }
            }

            return(result);
        }
        public override System.Windows.Controls.ValidationResult Validate(object value, CultureInfo cultureInfo)
        {
            var validationResult = new System.Windows.Controls.ValidationResult(true, null);

            if (value != null)
            {
                if (!string.IsNullOrEmpty(value.ToString()))
                {
                    //var regex = new Regex("^([0-9a-zA-Z]([-\\.\\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\\w]*[0-9a-zA-Z]\\.)+[a-zA-Z]{2,9})$");
                    //var parsingOk = regex.IsMatch(value.ToString());

                    var parsingOk = Regex.IsMatch(value.ToString(),
                                                  @"^(?("")("".+?(?<!\\)""@)|(([0-9a-z]((\.(?!\.))|[-!#\$%&'\*\+/=\?\^`\{\}\|~\w])*)(?<=[0-9a-z])@))" +
                                                  @"(?(\[)(\[(\d{1,3}\.){3}\d{1,3}\])|(([0-9a-z][-0-9a-z]*[0-9a-z]*\.)+[a-z0-9][\-a-z0-9]{0,22}[a-z0-9]))$",
                                                  RegexOptions.IgnoreCase, TimeSpan.FromMilliseconds(250));

                    if (!parsingOk)
                    {
                        validationResult = new System.Windows.Controls.ValidationResult(false, "Vous devez saisir une adresse email valide !");
                    }
                }
            }
            return(validationResult);
        }