Blazor项目中如何让MudSelect与其他表单元素同步验证提示?
问题:MudSelect失焦时不显示验证错误,MudTextField正常显示
问题描述
- 自定义组件和主页面中的MudSelect在失去焦点时,不会显示验证错误;但示例中的MudTextField在未输入内容就失焦时,能正常触发空值验证并显示错误提示。
- 表单实际已执行验证:未选择选项时,表单下方会显示“NOT Valid”,但MudSelect字段本身不会被高亮标记错误状态。
主页面代码
<MudForm @bind-IsValid="@_isFormValid"> <MudSelect T="string" @bind-Value="_car" Label="Car" Required="true"> <MudSelectItem T="string" Value="@("City")"></MudSelectItem> <MudSelectItem T="string" Value="@("Track")"></MudSelectItem> <MudSelectItem T="string" Value="@("Limo")"></MudSelectItem> </MudSelect> <ColorSelector @bind-Color="_color"/> <MudTextField @bind-Value="_text" Label="Text field" Variant="Variant.Text" Required="true"/> </MudForm> @if (_isFormValid) { <MudText>Valid</MudText> } else { <MudText>NOT Valid</MudText> } @code { private string _color; private string _car; private bool _isFormValid; private string _text; }
颜色选择器组件代码
@using System.Linq.Expressions <MudSelect T="string" @bind-Value="_color" Label="Color" Required="true"> <MudSelectItem T="string" Value="@("Red")"></MudSelectItem> <MudSelectItem T="string" Value="@("Green")"></MudSelectItem> <MudSelectItem T="string" Value="@("Blue")"></MudSelectItem> </MudSelect> @code { [Parameter] public string? Color { get;set; } [Parameter] public EventCallback<string?> ColorChanged { get; set; } [Parameter] public Expression<string?> TestExpression { get; set; } private string? _color; }
预期效果
当未选择内容的MudSelect失去焦点时,希望和文本框一样,显示红色边框及错误提示信息。
内容的提问来源于stack exchange,提问作者Hooch
相关产品推荐
相关产品推荐

