ordervalidator.java

来自「Spring +Web 的完整 MyEclipse 项目源码,使用者可以作为入门」· Java 代码 · 共 64 行

JAVA
64
字号
package org.digitstore.domain.logic;

import org.digitstore.domain.Order;
import org.springframework.validation.Errors;
import org.springframework.validation.ValidationUtils;
import org.springframework.validation.Validator;

public class OrderValidator implements Validator {

    public boolean supports(Class clazz) {
        return Order.class.isAssignableFrom(clazz);
    }

    public void validate(Object obj, Errors errors) {
        validateCreditCard((Order) obj, errors);
        validateBillingAddress((Order) obj, errors);
        validateShippingAddress((Order) obj, errors);
    }

    public void validateCreditCard(Order order, Errors errors) {
        ValidationUtils.rejectIfEmpty(errors, "creditCard", "CCN_REQUIRED",
                "FAKE (!) credit card number required.");
        ValidationUtils.rejectIfEmpty(errors, "expiryDate",
                "EXPIRY_DATE_REQUIRED", "Expiry date is required.");
        ValidationUtils.rejectIfEmpty(errors, "cardType", "CARD_TYPE_REQUIRED",
                "Card type is required.");
    }

    public void validateBillingAddress(Order order, Errors errors) {
        ValidationUtils.rejectIfEmpty(errors, "billToFirstName",
                "FIRST_NAME_REQUIRED", "Billing Info: first name is required.");
        ValidationUtils.rejectIfEmpty(errors, "billToLastName",
                "LAST_NAME_REQUIRED", "Billing Info: last name is required.");
        ValidationUtils.rejectIfEmpty(errors, "billAddress1",
                "ADDRESS_REQUIRED", "Billing Info: address is required.");
        ValidationUtils.rejectIfEmpty(errors, "billCity", "CITY_REQUIRED",
                "Billing Info: city is required.");
        ValidationUtils.rejectIfEmpty(errors, "billState", "STATE_REQUIRED",
                "Billing Info: state is required.");
        ValidationUtils.rejectIfEmpty(errors, "billZip", "ZIP_REQUIRED",
                "Billing Info: zip/postal code is required.");
        ValidationUtils.rejectIfEmpty(errors, "billCountry",
                "COUNTRY_REQUIRED", "Billing Info: country is required.");
    }

    public void validateShippingAddress(Order order, Errors errors) {
        ValidationUtils
                .rejectIfEmpty(errors, "shipToFirstName",
                        "FIRST_NAME_REQUIRED",
                        "Shipping Info: first name is required.");
        ValidationUtils.rejectIfEmpty(errors, "shipToLastName",
                "LAST_NAME_REQUIRED", "Shipping Info: last name is required.");
        ValidationUtils.rejectIfEmpty(errors, "shipAddress1",
                "ADDRESS_REQUIRED", "Shipping Info: address is required.");
        ValidationUtils.rejectIfEmpty(errors, "shipCity", "CITY_REQUIRED",
                "Shipping Info: city is required.");
        ValidationUtils.rejectIfEmpty(errors, "shipState", "STATE_REQUIRED",
                "Shipping Info: state is required.");
        ValidationUtils.rejectIfEmpty(errors, "shipZip", "ZIP_REQUIRED",
                "Shipping Info: zip/postal code is required.");
        ValidationUtils.rejectIfEmpty(errors, "shipCountry",
                "COUNTRY_REQUIRED", "Shipping Info: country is required.");
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?