ant-design-blazor/components/form/Form.razor
笨木头 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
1.1 KiB
C#

@namespace AntDesign
@inherits AntDomComponentBase
@typeparam TModel
@using Microsoft.AspNetCore.Components.Forms;
@using AntDesign.Internal;
<Spin Spinning="Loading">
<EditForm class="@ClassMapper.Class"
style="@Style"
id="@Id"
EditContext="_editContext"
OnValidSubmit="OnValidSubmit"
OnInvalidSubmit="OnInvalidSubmit">
@if(ValidateMode.IsIn(FormValidateMode.Rules, FormValidateMode.Complex))
{
<FormRulesValidator @ref="_rulesValidator" />
}
@if (ValidateMode.IsIn(FormValidateMode.Default, FormValidateMode.Complex))
{
@Validator
}
<CascadingValue Value="this" Name="Form" TValue="IForm" IsFixed="@true">
@if (!string.IsNullOrEmpty(Size))
{
<CascadingValue Value="Size" Name="FormSize">
@ChildContent(Model)
</CascadingValue>
}
else
{
@ChildContent(Model)
}
</CascadingValue>
</EditForm>
</Spin>