Пример #1
0
        /// <summary>
        /// Class String Property Validation Rule Method
        /// </summary>
        /// <param name="property">String property being validated</param>
        /// <param name="rule">String format rule definition (Regex) being used</param>
        /// <param name="message">Error message</param>
        /// <returns>Validation context</returns>
        public ValidationResult <TModel> Rule(Expression <Func <TModel, string> > property, FormatDefinition rule, string message = null)
        {
            if (this._breakIfIsInvalid && !this.Success)
            {
                return(this);
            }

            this._breakIfIsInvalid = false;

            if (!GetMember(property, out var member))
            {
                return(this);
            }

            var index = 0;

            foreach (var value in this.Values)
            {
                var propertyValue = value.GetPropertyValue <string>(member.Name);
                this.AddItem(rule.Validate(propertyValue), message, member.Name, member.Name, index);
                index++;
            }

            return(this);
        }
Пример #2
0
 public static bool ValidateFormat(this string value, FormatDefinition definition)
 {
     return(definition.Validate(value));
 }