现在,在保存操作中,我定义了一个称为预订的模型,该模型如下:
Class BookingAction {
private Booking booking;
...
}
Class Booking {
private String bookingNo;
private String status;
...
private List<Part>parts = new ArrayList<Part>();
...
}
Class Part {
private String partNo;
...
}
我还为该操作定义了一个验证xml文件,例如
<validators>
<field name="booking.status">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>${getText("MandatoryFieldEmpty",{"%{getText(\"BookingMain.status\")}"})}</message>
</field-validator>
</field>
<field name="booking.bookedBy">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>${getText("MandatoryFieldEmpty",{"%{getText(\"BookingMain.bookedBy\")}"})}</message>
</field-validator>
</field>
....
我也可以为零件定义这种配置吗?
该部件在列表中,该列表是Booking的财产,有人可以告诉我是否可以在BookingAction-validation.xml中进行部件的验证吗?
您可以使用访客验证器;
您应该在其中添加<validator type="visitor">
与parts
对象相关的代码段,BookingAction- validation.xml
以激活访问者验证;
然后,您将需要Part-validation.xml
在Part
Object 的包(而不是 对象 的包)下
创建一个Action
,并在那里为单个Part元素指定规则。
Struts2 Validation Interceptor
将使用第二个文件来验证列表的每个元素。
作为一个很好的副作用,如果您List<Part>
在另一个对象中包含一个对象,则对该对象Action
的验证Part
将已经存在,而无需在另一个文件中重写它(您只需要在Action-
validation.xml文件中声明验证器代码段) )。
编辑
您可以指定不同的上下文,以便Bean-context- validation.xml
仅在某些特定情况下才使用更具体的文件来触发同一bean的进一步补充验证。
阅读 这个详细的示例 ,尤其是Visitor Validation Example
(和下面的Visitor Validation with the Expression Validator
)部分。
我有一个插件,它的配置中有一个列表: 的内容将根据当前配置文件进行更改。现在,我正在一个配置文件中复制插件定义,这感觉有点浪费。我真正想要的是将一组项定义为一个属性: 但是,如果我尝试上面的操作,那么Maven会出现一个错误: 是否有一种方法可以将列表从Maven属性传递到插件配置中?
问题内容: setter方法是否仅用于设置作为参数传递的属性值?我们可以在将值分配给属性之前编写一些验证逻辑吗? 问题答案: 是的,验证逻辑绝对可以接受。 但是应注意,如果您具有广泛的验证,则可能希望将其提取到特定的验证器服务。但是对于简单的验证,您可以放心地执行此操作。 使用getters和setters的整个想法是让没有人可以直接访问您的字段。如果您只想设置/获取值,则可以设置它们。 相反,我
问题内容: 我们有一个在Apache上运行的网站,该网站具有许多通过HTTP Basic身份验证保护的静态页面。 我已经使用Django内置的用户管理支持与Django一起编写了网站的新部分。 我的问题是用户必须通过HTTP Basic身份验证登录一次,然后再次使用Django登录表单。这既笨拙又使用户感到困惑。 我想知道是否有人找到一种使Django使用HTTP Basic身份验证信息登录用户的
问题内容: 我有以下控制器方法: CompanyTag是这样定义的: 问题是没有触发验证,没有验证CompanyTag列表,从不调用“ StringUUIDValidation”验证器。 如果我删除列表,仅尝试发送单个CompanyTag,即代替: 利用: 它可以按预期工作,因此显然Spring不喜欢验证事物列表(而是尝试使用数组,但同样没有效果)。 有人知道缺少什么吗? 问题答案: 我发现了另一
当我在Google play上完成新版本的上传时,我得到了这样的消息:,,,请提供帮助!
到现在为止我们只看了一下基本的验证配置,让给我们看看一些稍微高级点的身份验证配置选项。 内存中的身份验证 我们已经看到了一个单用户配置到内存验证的示例,下面是配置多个用户的例子: @Autowired public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception { auth