You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.11 23:43:14