Class MultipleUnique
Enforces validation that the combination of specified property names must be unique for each instance of this object
Inheritance
System.Object
System.Attribute
System.ComponentModel.DataAnnotations.ValidationAttribute
MultipleUnique
Inherited Members
System.ComponentModel.DataAnnotations.ValidationAttribute.FormatErrorMessage(System.String)
System.ComponentModel.DataAnnotations.ValidationAttribute.GetValidationResult(System.Object, System.ComponentModel.DataAnnotations.ValidationContext)
System.ComponentModel.DataAnnotations.ValidationAttribute.IsValid(System.Object)
System.ComponentModel.DataAnnotations.ValidationAttribute.Validate(System.Object, System.ComponentModel.DataAnnotations.ValidationContext)
System.ComponentModel.DataAnnotations.ValidationAttribute.Validate(System.Object, System.String)
System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessage
System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessageResourceName
System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessageResourceType
System.ComponentModel.DataAnnotations.ValidationAttribute.ErrorMessageString
System.Attribute.Equals(System.Object)
System.Attribute.GetCustomAttribute(System.Reflection.Assembly, System.Type)
System.Attribute.GetCustomAttribute(System.Reflection.Assembly, System.Type, System.Boolean)
System.Attribute.GetCustomAttribute(System.Reflection.MemberInfo, System.Type)
System.Attribute.GetCustomAttribute(System.Reflection.MemberInfo, System.Type, System.Boolean)
System.Attribute.GetCustomAttribute(System.Reflection.Module, System.Type)
System.Attribute.GetCustomAttribute(System.Reflection.Module, System.Type, System.Boolean)
System.Attribute.GetCustomAttribute(System.Reflection.ParameterInfo, System.Type)
System.Attribute.GetCustomAttribute(System.Reflection.ParameterInfo, System.Type, System.Boolean)
System.Attribute.GetCustomAttributes(System.Reflection.Assembly)
System.Attribute.GetCustomAttributes(System.Reflection.Assembly, System.Boolean)
System.Attribute.GetCustomAttributes(System.Reflection.Assembly, System.Type)
System.Attribute.GetCustomAttributes(System.Reflection.Assembly, System.Type, System.Boolean)
System.Attribute.GetCustomAttributes(System.Reflection.MemberInfo)
System.Attribute.GetCustomAttributes(System.Reflection.MemberInfo, System.Boolean)
System.Attribute.GetCustomAttributes(System.Reflection.MemberInfo, System.Type)
System.Attribute.GetCustomAttributes(System.Reflection.MemberInfo, System.Type, System.Boolean)
System.Attribute.GetCustomAttributes(System.Reflection.Module)
System.Attribute.GetCustomAttributes(System.Reflection.Module, System.Boolean)
System.Attribute.GetCustomAttributes(System.Reflection.Module, System.Type)
System.Attribute.GetCustomAttributes(System.Reflection.Module, System.Type, System.Boolean)
System.Attribute.GetCustomAttributes(System.Reflection.ParameterInfo)
System.Attribute.GetCustomAttributes(System.Reflection.ParameterInfo, System.Boolean)
System.Attribute.GetCustomAttributes(System.Reflection.ParameterInfo, System.Type)
System.Attribute.GetCustomAttributes(System.Reflection.ParameterInfo, System.Type, System.Boolean)
System.Attribute.GetHashCode()
System.Attribute.IsDefaultAttribute()
System.Attribute.IsDefined(System.Reflection.Assembly, System.Type)
System.Attribute.IsDefined(System.Reflection.Assembly, System.Type, System.Boolean)
System.Attribute.IsDefined(System.Reflection.MemberInfo, System.Type)
System.Attribute.IsDefined(System.Reflection.MemberInfo, System.Type, System.Boolean)
System.Attribute.IsDefined(System.Reflection.Module, System.Type)
System.Attribute.IsDefined(System.Reflection.Module, System.Type, System.Boolean)
System.Attribute.IsDefined(System.Reflection.ParameterInfo, System.Type)
System.Attribute.IsDefined(System.Reflection.ParameterInfo, System.Type, System.Boolean)
System.Attribute.Match(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Namespace: LemonEdge.API.Attributes.Validation
Assembly: API.dll
Syntax
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Interface, Inherited = false, AllowMultiple = true)]
public class MultipleUnique : DatabaseValidation
Remarks
For example:
[MultipleUnique(new string[] { nameof(Key1), nameof(Key2) }, AllowNullOrEmpty = false)]
public interface IMyItem
{
string Key1 { get; set; }
string Key2 { get; set; }
int Value { get; set; }
}
Constructors
MultipleUnique(String[])
Declaration
public MultipleUnique(params string[] jointUniqueProperties)
Parameters
Type | Name | Description |
---|---|---|
System.String[] | jointUniqueProperties |
Properties
AllowNullOrEmpty
Indicates that null or empty values are allowed on the referenced JointUniqueProperties
Declaration
public bool AllowNullOrEmpty { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
JointUniqueProperties
The list of properties to ensure the combination of is always unique in the database
Declaration
public virtual string[] JointUniqueProperties { get; set; }
Property Value
Type | Description |
---|---|
System.String[] |
TypeId
Have to override this if AllowMultiple is true
Declaration
public override object TypeId { get; }
Property Value
Type | Description |
---|---|
System.Object |
Overrides
System.Attribute.TypeId
Methods
IsValid(Object, IEntityUpdater, IReadOnlyCache, UserInfo, ValidationContext)
Declaration
protected override Task<ValidationResult> IsValid(object value, IEntityUpdater dbCon, IReadOnlyCache cache, UserInfo user, ValidationContext validationContext)
Parameters
Type | Name | Description |
---|---|---|
System.Object | value | |
IEntityUpdater | dbCon | |
IReadOnlyCache | cache | |
UserInfo | user | |
System.ComponentModel.DataAnnotations.ValidationContext | validationContext |
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task<System.ComponentModel.DataAnnotations.ValidationResult> |