验证正确时,Struts 2 json验证返回错误Json

时间:2013-06-04 09:48:50

标签: validation struts2

动作映射

<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"]}} 

1 个答案:

答案 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将为   修整。