/// <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 })); }
/// <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); }