forked from github/copilot-sdk
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDataAnnotationsAttributes.cs
More file actions
32 lines (28 loc) · 894 Bytes
/
Copy pathDataAnnotationsAttributes.cs
File metadata and controls
32 lines (28 loc) · 894 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
*--------------------------------------------------------------------------------------------*/
namespace System.ComponentModel.DataAnnotations;
[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter, AllowMultiple = false)]
internal sealed class Base64StringAttribute : ValidationAttribute
{
public override bool IsValid(object? value)
{
if (value is null)
{
return true;
}
if (value is not string text)
{
return false;
}
try
{
Convert.FromBase64String(text);
return true;
}
catch (FormatException)
{
return false;
}
}
}