У меня действительно огорчает проблема со Struts (2.2.3).Вот мои проверки полей в ActionName-validation.xml
<field name="txtRequestDateFrom">
<field-validator type="conversion">
<param name="repopulateField">false</param>
<message>${getText("E011", {"Date from"})}</message>
</field-validator>
</field>
У меня нет метода validate () в моем классе действий.И у меня есть это в моем классе действий:
private Date txtRequestDateFrom;
{getter, setters}
Когда я ввожу буквы в поле txtRequestDateFrom, я получаю 3 сообщения проверки на
<s:fielderror fieldName="txtRequestDateFrom"/>
Это выглядит так
Invalid field value for field "txtRequestDateFrom".
Invalid field value for field "txtRequestDateFrom".
Date from has an invalid value
У меня есть своя собственная тема, и я уверен, что не будет никаких особых изменений от простой темы.Мой стек перехватчиков во многом аналогичен стеку значений по умолчанию.
<interceptor-stack name="defaultStack">
<interceptor-ref name="security"/>
<interceptor-ref name="exception"/>
<interceptor-ref name="alias"/>
<interceptor-ref name="servletConfig"/>
<interceptor-ref name="i18n"/>
<interceptor-ref name="prepare"/>
<interceptor-ref name="chain"/>
<interceptor-ref name="debugging"/>
<interceptor-ref name="scopedModelDriven"/>
<interceptor-ref name="modelDriven"/>
<interceptor-ref name="fileUploadStack" />
<interceptor-ref name="fileUpload" >
<param name="maximumSize">4000000</param>
</interceptor-ref>
<interceptor-ref name="checkbox"/>
<interceptor-ref name="multiselect"/>
<interceptor-ref name="staticParams"/>
<interceptor-ref name="actionMappingParams"/>
<interceptor-ref name="params"/>
<interceptor-ref name="conversionError" />
<interceptor-ref name="validation">
<param name="excludeMethods">execute, complete ...</param>
</interceptor-ref>
<interceptor-ref name="workflow"/>
</interceptor-stack>
Я обнаружил, что одну ошибку поля можно удалить, удалив перехватчик converError из стека.Но я не думаю, что это вызовет эту проблему.Struts должен отображать ошибки, определенные только разработчиком, верно?
Пожалуйста, помогите мне в этом