Class PropertyValidationAttribute
Allows you to write a formula against properties that are automatically evaluated to validate changes
Inherited Members
Namespace: LemonEdge.API.Attributes.Validation
Assembly: LemonEdge.API.dll
Syntax
[AttributeUsage(AttributeTargets.Property, AllowMultiple = true)]
public class PropertyValidationAttribute : ValidationAttribute
Remarks
For instance you can validate properties using custom scripts like so:
public interface MyItem
{
bool ValidateX { get; set; }
[PropertyValidation(
//checkOnLamda. Only validate this property if this returns true
"MyItem." + nameof(ValidateX),
//validOnLamda. If returns false then the validation fails and the following message returns why
//This script uses LemonEdge.Core.FormulaFunctionsWithContext. So you can access the Cache, User, and Updater.
//You can also write any c# script, not just a single line formula
"var itemVaue = MyItem.AmountX; return itemValue > 100;",
//message. Reason for validation failure
"AmountX must be greater than 100 if ValidateX is true.")]
Int16 AmountX { get; set; }
}
Constructors
PropertyValidationAttribute(string, string, string)
Validates this property whenever the item is changed
Declaration
public PropertyValidationAttribute(string checkOnLamda, string validOnLamda, string message)
Parameters
Type | Name | Description |
---|---|---|
string | checkOnLamda | Only runs the validOnLamda check if this statement is true, otherwise it returns valid |
string | validOnLamda | valid if this check is true, false otherwise and returns message |
string | message | Returns message if validOnLamda is false |
Properties
RequiresValidationContext
Declaration
public override sealed bool RequiresValidationContext { get; }
Property Value
Type | Description |
---|---|
bool |
Overrides
TypeId
Have to override this if AllowMultiple is true
Declaration
public override object TypeId { get; }
Property Value
Type | Description |
---|---|
object |
Overrides
Methods
IsValid(object, ValidationContext)
Declaration
protected override sealed ValidationResult IsValid(object value, ValidationContext validationContext)
Parameters
Type | Name | Description |
---|---|---|
object | value | |
ValidationContext | validationContext |
Returns
Type | Description |
---|---|
ValidationResult |