ASP.NETCore-验证仅一个参数在合同中被指定。
创始人
2024-09-17 08:30:31
0

可以使用自定义的模型验证器实现验证,该验证器检查是否有两个或更多的请求参数同时指定了,并在发现不符合情况时返回验证错误。以下是代码示例:

using Microsoft.AspNetCore.Mvc.Filters;
using System.Collections.Generic;
using System.Linq;

public class OneParameterAttribute : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext context)
    {
        Dictionary parameters = context.ActionArguments;
        int count = parameters.Values.Count(p => p != null);

        if (count > 1)
        {
            string message = "Only one parameter is allowed.";
            context.ModelState.AddModelError("MultipleParameters", message);
        }
    }
}

然后,将该自定义的模型验证器应用于您的控制器操作:

[HttpGet]
[OneParameter]
public IActionResult Get(int? id1, int? id2)
{
    // controller action code here...
}

在此示例中,OneParameterAttribute将在执行 Get 操作之前运行,该操作接受两个可选参数 id1id2。如果在此操作中同时指定了两个请求参数,则将添加一个验证错误到模型状态中,并返回到客户端。

相关内容

热门资讯

随着!好玩贰柒拾辅助"... 随着!好玩贰柒拾辅助"科普辅助器"果然真的是有挂(哔哩哔哩)1、任何好玩贰柒拾辅助透视是真的假的的玩...
出乎意料的是!川娱竞技血战辅助... 出乎意料的是!川娱竞技血战辅助器"揭露辅助教程"本来真的有挂(哔哩哔哩)1、超多福利:超高返利,海量...
2026版复盘!花花生活圈辅助... 2026版复盘!花花生活圈辅助工具安装教程"开挂辅助器"一直是有挂(哔哩哔哩)小薇(辅助器软件下载)...
攻略辅助挂!中至吉安小程序微信... 攻略辅助挂!中至吉安小程序微信小程序"透视辅助脚本"原来真的是有挂(哔哩哔哩)1.中至吉安小程序微信...
透视安卓版!天天爱消除辅助脚本... 透视安卓版!天天爱消除辅助脚本"解谜辅助脚本"切实是真的有挂(哔哩哔哩)1、让任何用户在无需天天爱消...
更值得关注的是!中至九江麻将辅... 更值得关注的是!中至九江麻将辅助器"揭幕辅助攻略"都是是有挂(哔哩哔哩)1、玩家可以在中至九江麻将辅...
透视了解!打两圈辅助"... 透视了解!打两圈辅助"解迷辅助插件"都是真的有挂(哔哩哔哩)小薇(辅助器软件下载)致您一封信;亲爱打...
黑科技技巧!有没有哈糖大菠萝攻... 黑科技技巧!有没有哈糖大菠萝攻略推荐"解谜辅助app"好像存在有挂(哔哩哔哩)1、下载好有没有哈糖大...
透视有挂!决战卡五星辅助&qu... 透视有挂!决战卡五星辅助"解迷辅助器"一直确实有挂(哔哩哔哩)1、每一步都需要思考,不同水平的挑战会...
最终!上饶中至能操控吗&quo... 最终!上饶中至能操控吗"分享辅助方法"一贯存在有挂(哔哩哔哩)上饶中至能操控吗透视方法中分为三种模型...