0

动作映射

<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>

测试验证.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"]}} 
4

1 回答 1

0

您必须使用RequiredString Validator而不是Required Validator

RequiredString 仅用于文本字段,Required 用于所有其他字段

<validators>
<field name="name">
    <field-validator type="requiredstring" >
        <message>You must select a name</message>
    </field-validator>
</field>
</validators>

链接到官方文档

RequiredStringValidator 检查字符串字段是否为非空且长度 > 0。(即它不是“”)。“trim”参数确定在执行长度检查之前是否会{@link String#trim() 修剪} String。如果未指定,字符串将被修剪。

于 2013-06-04T12:00:42.057 回答