我在这里尝试了答案中的步骤:HibernateValidator,自定义ResourceBundleLocator和Spring
但是仍然只是{location.title.notEmpty}
作为输出而不是消息。
dispatcher-servlet.xml
<bean name="validator"
class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
<property name="validationMessageSource">
<ref bean="resourceBundleLocator"/>
</property>
</bean>
<bean name="resourceBundleLocator" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basenames">
<list>
<value>/WEB-INF/validationMessages</value>
</list>
</property>
</bean>
/WEB-INF/validationMessages.properties:
location.title.notEmpty=My custom message
表格(上课地点)
@NotEmpty( message = "{location.title.notEmpty}" )
private String title;
这是怎么了
得到它了!:-)
我在我的计算机中添加了以下bean而不是上面提到的两个dispatcher-servlet.xml
:
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basename" value="/WEB-INF/validationMessages" />
</bean>
然后,在我的validationMessages.properties中,使用以下语法:
NotEmpty.location.title=My custom Message
我猜这是原因:我使用了Hibernate验证注释(不是javax注释)
对于一般情况,消息文件的语法应类似于
[ConstraintName].[ClassName].[FieldName]=[Message]
希望这可以帮助其他人;-)
要从spring控制器访问消息,只需将其添加@Autowired private MessageSource messageSource;
为类字段并使用messageSource.getMessage
方法即可。因为我只使用一种语言环境messageSource.getMessage("NotEmpty.location.title", null, null )
我试图使用注释和ConstraintValidator接口创建自定义bean验证。目的是使模型的名称独一无二。我不知道为什么,但是当我提交表单以便添加产品时,会抛出NullPointerException。 我的root-context.xml文件:
我正在构建一个Spring Boot应用程序,并试图为我将在服务层验证的一些DTO/实体实现自定义验证。基于Spring关于这个问题的文档,我认为一种方法是实现org。springframework。验证。验证程序界面。 作为一个最小、完整、可重复的示例,请考虑以下代码: Spring初始化引导项目 在src/main/java/com中添加了以下代码。实例使用验证: 如果我点击endpoint触
我正在使用Spring验证来验证Rest Controller输入,如果有人能告诉我是否有可能在异常情况下抛出自定义消息,并且自定义消息应来自属性文件,我将不胜感激。 用户控制器.java 用户验证程序.java 消息.属性 自定义消息源配置.java 浏览器响应
我正在尝试在laravel中编写用于验证的自定义消息。我在网上查过,看到一些帖子,其他人通过添加一个受保护的函数来解决同样的问题。我还向代码中添加了该函数,但它不起作用。这是我的代码这是myFormController.php: 公共函数请求(注册请求$request){$validated=$request- 这是RegistrationRequest.php: 使用Illumb\Contrac
我想确保在创建新用户名或更新用户名时,用户名是唯一的。我写了下面的代码,它可以很好地创建和更新用户名。但是,如果只更新其他用户字段,如年龄或性别,并保留相同的用户名,它将返回invalid,因为用户名已经存在。 重要的是,我想要的验证是使用BindingResault。我已经有一个数据库,将用户名视为唯一的限制。但是现在我想要用BindingResault进行同样的验证。但是我更新用户时的方式会导
我正在将Laravel-5.8与Vue一起使用。js。我的问题是如何在Vee Validate库中显示规则的自定义错误消息。“required”规则的自定义消息没有显示,而是显示为:“first_name字段是必需的。”预期的消息是“请输入名字。” 下面的代码在应用程序中。js 这是我的HTML组件代码。 下面是我的JS脚本代码 我遗漏了什么吗?