精华内容
下载资源
问答
  • WCF报错 Message=值不能为null 参数名:assemblyString

    刚刚开始用WCF,遇到一个问题,搞了好久终于搞定,记录一下。


    1. 在使用VS进行WCF时,如果要进行调试,需要启动WCF服务器和WCF客户端两个实例,这样才能在服务器和客户端都进行调试。

    2. 发生题目错误的原因是 我使用了抽象工厂来读配置文件  即ConfigurationManager.AppSettings["DALName"];  

    配置文件也是有作用域的,所以WCF服务器的App.config中也要进行AppSettings字节的配置。

    展开全文
  • C#MVC 值不能为NULL参数名:source

    千次阅读 2019-05-20 09:52:52
    这个问题相对于大家来说 可能都碰到过(大佬或许没见过),关于这个问题的解决方法在于你的调试能力了 1 首先找到报错的地方 2 断点 3 开始调试 4 这跟踪数值 5 解决问题 希望大家多多加强一下自己的编码跟调试能力 ...

    在这里插入图片描述
    这个问题相对于大家来说 可能都碰到过(大佬或许没见过),关于这个问题的解决方法在于你的调试能力了
    1 首先找到报错的地方
    2 断点
    3 开始调试
    4 这跟踪数值
    5 解决问题

    希望大家多多加强一下自己的编码跟调试能力 (我找错找了1小时。。。。。。。。。。)

    展开全文
  • Java校验API今天和大家分享一下如何在SpringMVC中校验参数。首先大家要知道的就是java校验API,即java Validation API,又称为JSR-303。从Spring3.0版本开始,SpringMVC就提供了对java校验API的支持,要在SpringMVC...

    Java校验API

    今天和大家分享一下如何在SpringMVC中校验参数。首先大家要知道的就是java校验API,即java Validation API,又称为JSR-303。从Spring3.0版本开始,SpringMVC就提供了对java校验API的支持,要在SpringMVC中使用java校验API的话只需要在类路径下包含java校验API的实现就好了,比如Hibernate Validator。

    java校验API定义了多个注解,这些注解直接在所需要校验的属性上使用就可以了,这些注解都在javax.validation.constraints包中,我们一起来看一下这些注解。

    477b584b87362e41917e6ff773fecc38.png

    校验注解

    我们今天使用SpringBoot的2.2.1.RELEASE进行测试。

    如何开启校验

    要开启校验仅仅需要2步:1.在需要校验的字段上添加上注解;2.在SpringMVC的路径方法的需要校验的参数上添加@Valid注解,如图:

    4bbb00710827d2dbc42c65db28d9e738.png

    @NotNull注解

    fd30af26677b916530638ab97ac2757a.png

    @Valid添加校验

    获取校验的错误

    获取校验的错误需要在Valid注解的后面添加Errors参数就可以了,记得Errors参数要添加在校验参数的后面才可以。如图:

    075e1ef9ffd71626d5580597f3cf15a1.png

    Errors

    图中通过hasErrors判断是否存在参数错误,通过getFieldErrors返回错误的信息。

    校验注解

    @AssertFalse:

    所注解的元素必须是Boolean类型,并且值为false

    @AssertTrue:

    所注解的元素必须是Boolean类型,并且值为true

    @DecimalMax:

    所注解的元素必须是数字,并且值要小于或等于给定的BigDecimalString值

    @DecimalMin:

    所注解的元素必须是数字,并且值要小于或等于给定的BigDecimalString值

    @Digits:

    所注解的元素必须是数字,并且它的值必须有指定的位数

    @Email:

    所注解的元素要匹配指定的正则表达式

    @Max:

    所注解的元素必须是数字,并且值要小于或等于给定的值。注意如果@Max所注解的元素是null,则@Max注解会返回true,所以应该把@Max注解和@NotNull注解结合使用。

    @Min:

    所注解的元素必须是数字,并且值要大于或等于给定的值。注意如果@Min所注解的元素是null,则@Min注解会返回true,即也会通过校验,所以应该把@Min注解和@NotNull注解结合使用。

    @NotBlank:

    所注解的元素不能为null且不能为空白,用于校验CharSequence(含String、StringBuilder和StringBuffer)

    @NotEmpty:

    所注解的元素不能为null且长度大于0,可以是空白,用于校验CharSequence、数组、Collection和Map

    @NotNull:

    所注解的元素不能为null

    @Null:

    所注解的元素必须为null

    @Pattern:

    所注解的元素必须匹配指定的正则表达式。注意如果@Pattern所注解的元素是null,则@Pattern注解会返回true,即也会通过校验,所以应该把@Pattern注解和@NotNull注解结合使用。

    @Size:

    所注解的元素必须符合指定的大小,该注解可用于数组,CharSequence(含String、StringBuilder和StringBuffer),Collection和Map。注意如果@Size所注解的元素是null,则@Size注解会返回true,即也会通过校验,所以应该把@Size注解和@NotNull注解结合使用。

    ConstraintValidator实现类

    最后和大家提一下,hibernate-validator的校验实现位于org.hibernate.validator.internal.constraintvalidators包下,校验的实现类都实现了ConstraintValidator接口,具体如下图所示。感兴趣的小伙伴可以通过源码看看hibernate-validator的具体校验逻辑。

    43e650599a398c58d2fc14fe0ba552d8.png

    ConstraintValidator的实现类

    举几个例子:

    @NotBlank的校验源码:

    e15fd215ff8fab5407ccfc146a4dfba9.png

    NotBlankValidator

    @Size对于数组的校验源码:

    8ed41a944a7aedbbae82d7eb2ba5f09a.png

    SizeValidatorForArray

    @NotEmpty对于Collection的校验源码:

    bcab60fcb6c638791ab6c5281702924f.png

    NotEmptyValidatorForCollection

    结束

    今天简单和大家介绍了如何在SpringMVC中校验参数,可以说SpringMVC大大简化了我们在参数检验上的工作量,这也正是框架带来的好处。

    好啦,希望今天的文章能帮助到大家,小伙伴们如果有什么疑问可以在评论区留言哦。

    展开全文
  • 参数非空检查是缩写类库很常见的操作,在一个方法中要求参数不能为空,否则抛出相应的异常。比如:public 当异常发生时,调用者很容易知道是什么问题。如果不加这个检查,可能就会由系统抛出未将对象引用为实例之类...

    34e2dbdaf6f487dd49f49ef130d256c1.png

    参数非空检查是缩写类库很常见的操作,在一个方法中要求参数不能为空,否则抛出相应的异常。比如:

    public 

    当异常发生时,调用者很容易知道是什么问题。如果不加这个检查,可能就会由系统抛出未将对象引用为实例之类的错误,这不利于调用者诊断错误。

    由于这个场景太常见了,于是我经常在我的项目中通过一个辅助类来做此类检查。这个类用来检查方法参数,所以命名为 Guard,主要代码如下:

    public 

    这个类包含了三个常见的非空检查,包括 null、空字符串、空集合的检查。使用示例:

    public 

    介于这种非空检查极其常见,C# 9.0 对此做了简化,增加了操作符‘!’,放在参数名后面,表示此参数不接受 null 值。使用方式如下:

    public 

    简化了很多有木有。这个提案已经纳入 C# 9.0 的特性中,但目前(2020-06-13)还没有完成开发。

    这个特性只支持非 null 检查,其它参数检查场景还是不够用的,我还是会通过辅助类来进行像空字符串、空集合的检查。

    这个特性在写公共类库的时候很有用,但我想大多数人在写业务逻辑代码的时候可能用不到这个特性,一般会封自己的参数检查机制。比如,我在项目中,对于上层 API 开发,我通过封装一个辅助类(ApiGuard)来对对参数进行检查,如果参数不通过,则抛出相应的业务异常,而不是 ArgumentNullException。比如下面的一段截取自我的 GeekGist 小项目的代码:

    public 

    使用示例:

    public 

    ApiGuard 的好处是,当 API 接口接到不合要求的参数时,可以自定义响应返回内容。比如,增加一个 Filter 或中间件用来全局捕获业务代码异常,根据不同的异常返回给前端不同的状态码和消息提示:

    private 

    只是一个参数非空检查,在实际开发中却有不少的学问,所以学好了理论还要多实践才能更透彻的理解它。

    展开全文
  • 在保存程序时,弹出一个对话框"值不能为null 参数名value",确定后能保存,项目能正常编译,但是有的界面会打不开,但是代码还在,请问这是什么原因导致的?谢谢啦
  • 解决以下问题:1.null问题2.vs2015下运行C/C++当用vs2015直接打开.c/.cpp文件,运行明显正确的程序时,会出行null情况。650) this.width=650;" title="图片1.png" src=...
  • 解决以下问题:1.null问题2.vs2015下运行C/C++当用vs2015直接打开.c/.cpp文件,运行明显正确的程序时,会出行null情况。解决方法:只需按正确方式打开VS2015的C++模块即可。具体方法如下:如果已正确安装C++模块直接...
  • 值不能为 null参数名: source 异常详细信息:System.ArgumentNullException: 值不能为 null参数名: source 通过断点发现是这段代码错误,发生这个异常通常是方法中某个参数为空了,而我的方法中没有一个名为...
  • 值不能为 null参数名: source

    万次阅读 热门讨论 2017-02-25 16:10:05
    子窗体FormA 继承父窗体FormB,但是再次想打开子窗体时,子窗体打不开(窗体界面也出不来),直接显示:值不能为null参数名:source 打开调用堆栈,则显示如下: 于是乎就找到对应窗体FatherOfGroup窗体代码的...
  • EntityFramework:值不能为 null参数名: entitySet 异常解决方案
  • Consol.WriteLine(Regex.Replace(null, ...值不能为 null参数名: input System.Text.RegularExpressions.Regex.Replace(string, string) System.Text.RegularExpressions.Regex.Replace(string, string, string)
  • 有蓝队网络服务器租用客户反映在一台服务器上使用数据库管理工具时弹出了如下错误 :值不能为null.参数名: viewInfo (Microsoft.SqlServer.Management.SqlStudio.Explorer 错误信息如上图: 解决方法:...
  • 值不能为 null 或为空。 参数名: linkText 说明:执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息:System.ArgumentException: ...
  • 还有编译没有,就是报这个莫名其妙的错误,像本文中的错误是有的值为null,那么怎样 去找到这个问题原因呢,且看解决方法。 解决方法: 找到对应Form的设计文件,比如testForm.Designer.cs,使用搜索工具搜索 ...
  • <解决方法> 第一步:U层引用D层 第二步:配置文件要对应
  • 使用VS2013编译C++出现报错:值不能为null参数名:SolutionDirectory,我写的是最简单的helloworld,求解
  • System.ArgumentNullException : 值不能为 null参数名: path2 在app.config或 web.config中加上配置就可以了 <appSettings> <add key="DaoFile" value="App_Data/dao.config" /> </...
  • 错误显示值不能为 null参数名: key 数据库都有表了 在basePage.cs文件68行报错。 请问知道是什么原因吗。 另外,siteserver文件夹里的原文件暂时没有开源的计划吗?</p><p>该提问来源于开源项目ÿ...
  • 在ABP项目中做执行SQL语句的实现时,遇到如下错误: ...System.ArgumentNullException: 值不能为 null参数名: unitOfWork 在 Niue.Abp.Abp.EntityFramework.EntityFramework.Uow.UnitOfWorkExtensions.Get
  • 因为之前安装的是mysql8,我重新卸载...Internal error (值不能为null.参数名:path1)The installer will now close 我查了很多资料,可能是残留的mysql文件未被清理导致的错误,但解决的方法我通过一篇文章了解到的 ...
  • 值不能为 null参数名: val 我的错误比较低级,我的Visual Studio 2019 没有安装.net core 开发环境。 不过这错误在网络上没有搜索到。在此记录一下。 visual studio 怎么安装.net core 开发环境呢? 这是一个...

空空如也

空空如也

1 2 3 4 5 ... 14
收藏数 273
精华内容 109
关键字:

值不能为null参数名