我有一个简单的MudBlazor MudSelect列表
<MudSelect T="int" Label="Choose Coverage Type"
AnchorOrigin="Origin.BottomCenter" Variant="Variant.Outlined"
Margin="Margin.Dense" For="@(() => newLink.CoverageType)">
<MudSelectItem Value="0">No Coverage Selected</MudSelectItem>
<MudSelectItem Value="1">Auto</MudSelectItem>
<MudSelectItem Value="2">Cyber</MudSelectItem>
<MudSelectItem Value="3">D&O/EPL</MudSelectItem>
<MudSelectItem Value="4">General Liability</MudSelectItem>
<MudSelectItem Value="5">General Risk Management</MudSelectItem>
<MudSelectItem Value="6">Property</MudSelectItem>
</MudSelect>在我的课堂上,我使用DataAnnotations进行验证。
//[RegularExpression ("^[1-6]$", ErrorMessage="A Coverage Type is Required")]
[Required]
public int CoverageType { get; set; }我可以在简单的文本框上进行验证,但是如果下拉列表中的第一项被选择为“无覆盖率”,则需要一个验证错误。
有人知道如何使用MudBlazor控件执行此操作吗?我在他们的网站上没有发现任何东西。
谢谢你的帮助
发布于 2022-08-04 21:52:29
您可以尝试使用MudForm组件验证该字段。
示例:
https://try.mudblazor.com/snippet/QYQcaMkIrMqCiOQf
@using System.Text.RegularExpressions
@using System.ComponentModel.DataAnnotations
<MudForm @ref="form" class="my-3">
<MudSelect
T="int"
Label="Choose Coverage Type"
AnchorOrigin="Origin.BottomCenter"
Variant="Variant.Outlined"
Margin="Margin.Dense"
For="@(() => newLink.CoverageType)">
<MudSelectItem Value="0">No Coverage Selected</MudSelectItem>
<MudSelectItem Value="1">Auto</MudSelectItem>
<MudSelectItem Value="2">Cyber</MudSelectItem>
<MudSelectItem Value="3">D&O/EPL</MudSelectItem>
<MudSelectItem Value="4">General Liability</MudSelectItem>
<MudSelectItem Value="5">General Risk Management</MudSelectItem>
<MudSelectItem Value="6">Property</MudSelectItem>
</MudSelect>
</MudForm>
<MudButton Variant="Variant.Filled" Color="Color.Primary" OnClick="@(()=>form.Validate())">Validate</MudButton>
<MudButton Variant="Variant.Filled" Color="Color.Error" OnClick="@(()=>form.Reset())">Reset</MudButton>
<MudButton Variant="Variant.Filled" OnClick="@(()=>form.ResetValidation())">Reset Validation</MudButton>
@code {
private YourModel newLink = new YourModel();
private MudForm form;
class YourModel
{
[RegularExpression ("^[1-6]$", ErrorMessage="A Coverage Type is Required")]
[Required]
public int CoverageType { get; set; }
}
}https://stackoverflow.com/questions/73241567
复制相似问题