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

ABP Framework MVC项目自定义登录页面后登录失败提示失效问题

问题分析与解决方案

你的自定义登录页面缺少全局验证错误展示区域,这是导致登录失败(用户名/密码不匹配)提示无法显示的核心原因。

用户名或密码错误属于全局ModelState错误(而非单个输入字段的验证错误),你当前代码中仅添加了单个字段的<span asp-validation-for>标签,无法捕获这类全局错误。

修复步骤

在登录表单内的合适位置(比如用户名输入框上方)添加全局验证摘要组件,推荐使用ABP框架提供的<abp-validation-summary />标签(也可以用ASP.NET Core原生的<div asp-validation-summary="All" class="text-danger"></div>)。

修改后的代码片段示例

在你的登录表单的section区域内,row标签之前添加验证摘要:

<section class="flex-fill  p-4 bg-light" style="border-radius: 10px 0 0 10px;">
    <div class="d-flex h-100 align-items-center">
        <!-- 添加全局验证摘要 -->
        <div class="row w-100 mb-3">
            <div class="offset-xl-4 col-xl-3 offset-3 col-6">
                <abp-validation-summary class="text-danger" />
                <!-- 或者原生ASP.NET Core标签:
                <div asp-validation-summary="All" class="text-danger"></div>
                -->
            </div>
        </div>
        
        <div class="row w-100">
            <div class="offset-xl-4 col-xl-3 offset-3 col-6">
                <!-- 原有的用户名、密码输入框代码 -->
                <div class="mb-3">
                    <label asp-for="LoginInput.UserNameOrEmailAddress" class="form-label"></label>
                    <input asp-for="LoginInput.UserNameOrEmailAddress" class="form-control form-control-lg" required/>
                    <span asp-validation-for="LoginInput.UserNameOrEmailAddress" class="text-danger"></span>
                </div>
                <div class="mb-3">
                    <label asp-for="LoginInput.Password" class="form-label"></label>
                    <input asp-for="LoginInput.Password" class="form-control form-control-lg" required/>
                    <span asp-validation-for="LoginInput.Password" class="text-danger"></span>
                </div>
            </div>
        </div>
    </div>
</section>

原理说明

ABP框架在登录失败时,会将"用户名或密码错误"这类信息添加到ModelState的根级别错误集合中,而非单个输入字段的错误集合。只有全局验证摘要组件才能捕获并展示这类错误,单个字段的asp-validation-for仅负责展示对应字段的验证错误(比如格式不正确、为空等)。

内容的提问来源于stack exchange,提问作者Aykut Atmaca

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 14:05:30