动作映射
<action name="test" class="com.val.Test" >
<result type="stream">
<param name="contentType">text/html</param>
<param name="inputName">inputStream</param>
</result>
<interceptor-ref name="jsonValidationWorkflowStack">
</interceptor-ref>
</action>
试验的validation.xml
<validators>
<field name="name">
<field-validator type="required" >
<message>You must select a name</message>
</field-validator>
</field>
</validators>
当我请求/test?name=21&struts.enableJSONValidation=true
得到了回复
{ "fieldErrors": {"name":["You must select a name"]}}
答案 0 :(得分:0)
您必须使用 RequiredString Validator 而不是必需的验证器。
RequiredString仅适用于 text 字段,必需用于所有其他字段
<validators>
<field name="name">
<field-validator type="requiredstring" >
<message>You must select a name</message>
</field-validator>
</field>
</validators>
Link to the official documentation
RequiredStringValidator检查String字段是否为null且具有 <长度> 0.(即它不是“”)。 “trim”参数确定 它之前是否会{@link String#trim()trim} 进行长度检查。如果未指定,则String将为 修整。