package example.form;


import org.nancle.context.NancleContext;
import org.nancle.error.ErrorRenderer;
import org.nancle.error.Errors;
import org.nancle.validate.Validates;

public class CustomerForm {

    private String firstName;
    private String lastName;
    private String telNo;
    private String address;
    private String eMail;
    
    public void validate() {
        Errors errors = NancleContext.getErrors();
        if (Validates.required(lastName)) {
            errors.add("姓名-姓が未入力です。");
        }
        if (Validates.required(firstName)) {
            errors.add("姓名-名が未入力です。");
        }
        if (Validates.email(eMail)) {
            errors.add("メールアドレスが正しくありません。");
        }
        NancleContext.setErrorRenderer(new CustomRR());
    }
    
    /**
     * @return the address
     */
    public String getAddress() {
        return address;
    }
    /**
     * @param address the address to set
     */
    public void setAddress(String address) {
        this.address = address;
    }
    /**
     * @return the firstName
     */
    public String getFirstName() {
        return firstName;
    }
    /**
     * @param firstName the firstName to set
     */
    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }
    /**
     * @return the lastName
     */
    public String getLastName() {
        return lastName;
    }
    /**
     * @param lastName the lastName to set
     */
    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

    /**
     * @return the eMail
     */
    public String getEMail() {
        return eMail;
    }

    /**
     * @param mail the eMail to set
     */
    public void setEMail(String mail) {
        eMail = mail;
    }

    /**
     * @return the telNo
     */
    public String getTelNo() {
        return telNo;
    }

    /**
     * @param telNo the telNo to set
     */
    public void setTelNo(String telNo) {
        this.telNo = telNo;
    }

}


class CustomRR implements ErrorRenderer {
    public String afterAllTag() {
        // TODO 自動生成されたメソッド・スタブ
        return "</p>";
    }
 public String afterPartTag() {
    // TODO 自動生成されたメソッド・スタブ
     return "</font></strong><br />";
}
 public String beforeAllTag() {
    // TODO 自動生成されたメソッド・スタブ
    return "<p>";
}
 public String beforePartTag() {
    // TODO 自動生成されたメソッド・スタブ
     return "<strong><font color=\"blue\">";
}
}