ant-design-blazor/components/form/Internal/Validate/ValidationAttribute/NumberAttribute.cs
笨木头 ec45abc4d7 feat(module: form): support set validation rules on FormItem (#1516)
* 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>
2021-05-28 09:08:42 +00:00

36 lines
830 B
C#

using System.ComponentModel.DataAnnotations;
using System.Globalization;
namespace AntDesign.Internal.Form.Validate
{
internal class NumberAttribute : ValidationAttribute
{
internal decimal Number { get; }
internal NumberAttribute(decimal number)
{
Number = number;
}
public override string FormatErrorMessage(string name)
{
return string.Format(CultureInfo.CurrentCulture, ErrorMessageString, name, Number);
}
public override bool IsValid(object value)
{
if (value == null)
{
return true;
}
if (!(value is decimal valueAsDecimal))
{
return false;
}
return Number == valueAsDecimal;
}
}
}