fix
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
namespace MyOffice.Web.Infrastructure.Attributes
|
||||
{
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Core.Extensions;
|
||||
|
||||
public class AsGuidAttribute: ValidationAttribute
|
||||
{
|
||||
private readonly bool _nullable;
|
||||
|
||||
public AsGuidAttribute(bool nullable = false)
|
||||
{
|
||||
_nullable = nullable;
|
||||
}
|
||||
|
||||
protected override ValidationResult? IsValid(object? value, ValidationContext validationContext)
|
||||
{
|
||||
if (value == null && _nullable)
|
||||
{
|
||||
return ValidationResult.Success;
|
||||
}
|
||||
|
||||
if (value == null || value.ToString().IsMissing())
|
||||
{
|
||||
return new ValidationResult("Id parameter is not valid");
|
||||
}
|
||||
|
||||
if (!Guid.TryParse(value.ToString(), out _))
|
||||
{
|
||||
return new ValidationResult("Id parameter is not valid");
|
||||
}
|
||||
|
||||
return ValidationResult.Success;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user