44 lines
No EOL
1.2 KiB
Markdown
44 lines
No EOL
1.2 KiB
Markdown
# Description
|
|
|
|
A tool to help validate data across scenes, prefabs and scriptable objects.
|
|
|
|

|
|
|
|
### Unity Windows
|
|
|
|

|
|

|
|
|
|
## Attribute Validators
|
|
|
|
The field attrribute:
|
|
```
|
|
[AttributeUsage(AttributeTargets.Field | AttributeTargets.Property, AllowMultiple = true)]
|
|
public sealed class RequiredAttribute : Attribute
|
|
{
|
|
private readonly EValidatorSeverity _severity;
|
|
|
|
public RequiredAttribute()
|
|
{
|
|
_severity = EValidatorSeverity.Error;
|
|
}
|
|
|
|
public RequiredAttribute(EValidatorSeverity severity)
|
|
{
|
|
_severity = severity;
|
|
}
|
|
}
|
|
```
|
|
|
|
The validator implements `IAttributeValidator<T>`, where `T` is the attribute and will automatically be found by the validator.
|
|
|
|
```
|
|
public sealed class Validator : IAttributeValidator<RequiredAttribute>
|
|
{
|
|
public ValidatorResult Validate(RequiredAttribute attribute, object value)
|
|
{
|
|
var isValid = value is UnityEngine.Object obj ? obj != null : value != null;
|
|
return isValid ? ValidatorResult.Valid : ValidatorResult.Create(attribute._severity, "Value is Null");
|
|
}
|
|
}
|
|
``` |