mirror of
https://gitee.com/ant-design-blazor/ant-design-blazor.git
synced 2024-12-15 17:31:42 +08:00
ec45abc4d7
* feat(module: form): support set validation rules on FormItem(not complete yet) * refactor(module: form): optimized code * feat(module: form): support Whitespace rule * feat(module: form): support [message、pattern、transform、validator、whitespace] rules * feat(module: form): support type rule * feat(module: form): support [defaultField、oneOf、fields、type] rules * feat(module: form): support custome validate messages(without test) * test(module: form): complete RuleValidate_ValidateMessages test * feat(module: form): complete DynamicRule demo, refactor code, fix bugs * feat(module: form): support ValidateMessages param * doc(module: form): add "Rules" and "ValidateMessages" docs * fix: Rule.Max's errorMessage is wrong * refactor: rename Rule to FormValidationRule * test: rename Rule to FormValidationRule * chore: refactor code and rename classes * Update ValidateMode.razor * Update FormValidateErrorMessages.cs * Update FormValidateHelper.cs Co-authored-by: James Yeung <shunjiey@hotmail.com>
41 lines
944 B
C#
41 lines
944 B
C#
using System;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using System.Globalization;
|
|
using System.Text.Json;
|
|
|
|
namespace AntDesign.Internal.Form.Validate
|
|
{
|
|
internal class OneOfAttribute : ValidationAttribute
|
|
{
|
|
internal object[] Values { get; set; }
|
|
|
|
internal OneOfAttribute(object[] values)
|
|
{
|
|
Values = values;
|
|
}
|
|
|
|
public override string FormatErrorMessage(string name)
|
|
{
|
|
return string.Format(CultureInfo.CurrentCulture, ErrorMessageString, name, JsonSerializer.Serialize(Values));
|
|
}
|
|
|
|
public override bool IsValid(object value)
|
|
{
|
|
if (value is Array)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
foreach (var v in Values)
|
|
{
|
|
if (v.Equals(value))
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
|
|
return false;
|
|
}
|
|
}
|
|
}
|