@634

Commons Validator - 利用方法・サンプル

Advertisement

サンプルコード

Bean

public class EmailBean {

    private String emailAddress;

    public String getEmailaddress(){
        return emailAddress;
    }

    public void setEmailaddress(String emailAddress){
        this.emailAddress = emailAddress;
    }
}

チェックメソッドの定義

import org.apache.commons.validator.*;

public class EmailTest {
    public static boolean validateEmail(Object bean, Field field) {

        String value = ValidatorUtil.getValueAsString(bean, field.getProperty());
        return GenericValidator.isEmail(value);
    }
}

XMLの定義

<?xml version = "1.0" encoding = "UTF-8" ?>

<form-validation>
    <global>
        <validator name = "email"
                   classname = "EmailTest"
                   method = "validateEmail"
                   methodParams = "java.lang.Object, org.apache.commons.validator.Field"
        />
    </global>

    <formset>
        <form name = "testEmailBean">
            <field property = "emailaddress" depends = "email" />
        </form>
    </formset>
</form-validation>

ロジック

import java.io.InputStream;
import org.apache.commons.validator.*;

public class ValidatorTest{

    public static void main(String[] args) {

        // Beanの生成
        EmailBean bean = new EmailBean();

        // 値の設定
        bean.setEmail("test@test.com");

        // 定義ファイル読込
        InputStream is
            = ValidatorTest.class.getResourceAsStream("validator.xml");

        ValidatorResources vr = new ValidatorResources();
        ValidatorResults results = null;

        try {
            // ValidatorResources にXMLの定義内容を設定
            ValidatorResourcesInitializer.initialize(vr, is);

            // Validatorの生成
            Validator validator = new Validator(vr, "testEmailBean");

            // Beanの設定
            validator.addResource(Validator.BEAN_KEY, bean);

            // チェック
            results = validator.validate();
        }
        catch (Exception e) {
            System.err.println(e.toString());
            return;
        }

        result = results.getValidatorResult("emailaddress");
        System.out.println("メールアドレス:" + result.isValid("email"));
    }
}

実行結果
メールアドレス:true

Advertisement

ショートカット

634
634ブログ
このカテゴリのトップページに戻る
Incubator(Pukiwiki)
634ラボ
   UIコレクションギャラリー
   ZO-3ジェネレーター

サイト検索


Y!ログール