.net核心多页表单在一页验证

时间:2017-04-25 16:05:01

标签: asp.net-core .net-core

我需要制作具有两种形式的.net核心页面。我已经完成了所有工作,但现在我正在努力使用asp-validation-summary,因为我在页面上有两个相同的元素,每当我在表单验证(服务器端)上出错时,它会在两个地方打印出错误...

如何区分这些我点击的形式的错误?

Alt

1 个答案:

答案 0 :(得分:0)

我没有找到合适的解决方案,但在控制器方法中有一个ViewData的解决方法:

    public async Task<IActionResult> Login(LoginViewModel model, string returnUrl = null)
    {
        ViewData["requestForm"] = "login";

    public async Task<IActionResult> Register(RegisterViewModel model, string returnUrl = null)
    {
        ViewData["requestForm"] = "register";

然后修改登录表单:

            <form asp-controller="Account" asp-action="Login" asp-route-returnurl="@ViewData["ReturnUrl"]" id="loginForm" class="sky-form" method="post"> 
                @if(((string)ViewData["requestForm"])=="login")
                {
                    <div asp-validation-summary="All" class="text-danger "></div>
                }

            </form>

并注册表格:

            <form asp-controller="Account" asp-action="Register" asp-route-returnurl="@ViewData["ReturnUrl"]" id="registerForm" class="sky-form" method="post">
                @if(((string)ViewData["requestForm"])=="register")
                {
                    <div asp-validation-summary="All" class="text-danger "></div>
                }

            </form>