Я использую библиотеку Spring Form для обработки страницы поиска в своем приложении. Вот это отрезала от моего DD показывает конфигурацию боба:Spring Forms - Как проверить ошибку на конкретном пути
<bean name="/search.html" class="myapp.web.AccountSearchController">
<property name="sessionForm" value="true"/>
<property name="commandName" value="searchAccounts"/>
<property name="commandClass" value="myapp.service.AccountSearch"/>
<property name="validator">
<bean class="myapp.service.AccountSearchValidator"/>
</property>
<property name="formView" value="accountSearch"/>
<property name="successView" value="accountSearch"/>
</bean>
Валидатор класс достаточно прост:
package myapp.service;
import org.springframework.validation.Validator;
import org.springframework.validation.Errors;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class AccountSearchValidator implements Validator {
/** Logger for this class and subclasses */
protected final Log logger = LogFactory.getLog(getClass());
public boolean supports(Class clazz) {
return AccountSearch.class.equals(clazz);
}
public void validate(Object obj, Errors errors) {
AccountSearch accountSearch = (AccountSearch) obj;
if (accountSearch == null) {
errors.rejectValue("domainName", "error.accountSearch.neither-specified", null, "Value required.");
} else if (accountSearch.getAccountId().isEmpty() &&
accountSearch.getDomainName().isEmpty()) {
errors.rejectValue("domainName", "error.accountSearch.neither-specified", null, "Value required.");
}
}
}
В моем JSP, моя форма отображается в HTML-таблице. Я хочу, чтобы полевые ошибки отображались под соответствующим полем как отдельная строка таблицы. Вот отрывок:
<tr>
<td align="right" valign="top"><form:label path="domainName">Domain Name</form:label>:</td>
<td><form:input path="domainName" size="30"/></td>
</tr>
<tr>
<td> </td>
<td><form:errors path="domainName" cssClass="error"/></td>
</tr>
Вопрос у меня есть, - как я могу сделать вывод строки ошибки обусловлена наличием ошибки? Является ли экземпляр Validator доступным из моего JSP? Каким будет тест для тега c: if?
Спасибо,
-Aj
Привет, Спасибо за ваш комментарий, но я не вижу, где в ссылке вы указали, что они используют библиотеку Spring Form. Если у вас есть информация, относящаяся к Spring Form, отправьте другой ответ. Благодаря! –