AndroMDA で 独自Validatorを定義して使用する
移転しました。
validator-rules.xml に 独自validatorの記載を追加するため、以下ように記載を追加
マージファイル修正
ROOT/mda/conf/mappings/WebMergeMappings.xml
以下を追加する <mapping> <from><![CDATA[<!-- validator-rules merge-point -->]]></from> <to> <![CDATA[ <validator name="hogeValidator" classname="hoge.validators.HogeValidator" method="validate" methodParams="java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionMessages, org.apache.commons.validator.Validator, javax.servlet.http.HttpServletRequest" msg="errors.validate.duplicate.path"> </validator> ]]> </to> </mapping>
バリデータクラスを追加
・hoge.validators.HogeValidator
public class HogeValidator { public static void validate(Object bean, ValidatorAction validatorAction, Field field, ActionMessages errors, Validator validator, HttpServletRequest request) { // ActionFormから検証対象となっているプロパティの値を文字列として取り出す String value=ValidatorUtils.getValueAsString(bean, field.getProperty()); // バリデータ検証 : : if(isError){ errors.add(field.getKey(), Resources.getActionMessage(request, validatorAction, field)); } } }