Exemplo n.º 1
0
        /// <summary>
        /// 验证不要和目标属性的值一致
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <typeparam name="TKey"></typeparam>
        /// <typeparam name="TTargetKey"></typeparam>
        /// <param name="fluent"></param>
        /// <param name="keySelector">属性选择</param>
        /// <param name="targetKeySelector">目标属性选择</param>
        /// <param name="errorMessage">错误提示信息</param>
        /// <returns></returns>
        public static FluentApi <T> NotEqualTo <T, TKey, TTargetKey>(this FluentApi <T> fluent, Expression <Func <T, TKey> > keySelector, Expression <Func <T, TTargetKey> > targetKeySelector, string errorMessage)
        {
            var propertyName = FluentApiExtend.GetProperty(targetKeySelector).Name;

            return(fluent.SetRule(keySelector, new NotEqualToAttribute(propertyName)
            {
                ErrorMessage = errorMessage
            }));
        }
Exemplo n.º 2
0
 /// <summary>
 /// 增加或替换验证规则到类型的属性
 /// </summary>
 /// <typeparam name="TKey">键类型</typeparam>
 /// <param name="keySelector">属性选择</param>
 /// <param name="rule">验证规则</param>
 /// <exception cref="ArgumentNullException"></exception>
 /// <exception cref="ArgumentException"></exception>
 /// <exception cref="NotSupportedException"></exception>
 /// <returns></returns>
 public FluentApi <T> SetRule <TKey>(Expression <Func <T, TKey> > keySelector, IValidRule rule)
 {
     FluentApiExtend.GetProperty(keySelector).SetRule(rule);
     return(this);
 }