package com.jcommerce.gwt.client.model; import java.util.Map; import com.extjs.gxt.ui.client.widget.form.TextArea; import com.extjs.gxt.ui.client.widget.form.TextField; import com.google.gwt.i18n.client.Messages; import com.jcommerce.gwt.client.ValidationException; import com.jcommerce.gwt.client.form.BeanObject; import com.jcommerce.gwt.client.resources.Resources; public class GoodsTypeForm extends BeanObject{ public static final String MODELNAME = "GoodsType"; // liyong: should keep the same as in server side model, i.e. GoodsType public static final String ID = "id"; public static final String NAME = "name"; public static final String ENABLED = "enabled"; public static final String ATTRIBUTEGROUP = "attributeGroup"; public static final String ATTRCOUNT = "attrcount"; public GoodsTypeForm() { super(); } public GoodsTypeForm (String modelName, Map<String, Object> values) { super(modelName, values); } public interface GoodsTypeFormMessage extends Messages { } public static TextField getNameField(String fieldTitle) { TextField<String> nameField = new TextField<String>(); nameField.setName(NAME); nameField.setMaxLength(10); nameField.setAutoValidate(true); nameField.setAllowBlank(false); TextField<String>.TextFieldMessages tfm = nameField.new TextFieldMessages(); tfm.setBlankText(Resources.messages.blankText(fieldTitle)); nameField.setMessages(tfm); return nameField; } public static TextArea getAttributeGroupField(String fieldTitle) { TextArea agField = new TextArea(); agField.setName(ATTRIBUTEGROUP); agField.setMaxLength(2000); agField.setAutoValidate(true); agField.setAllowBlank(true); return agField; } public void validate() throws ValidationException{ System.out.println("----validate GoodsTypeForm"); StringBuffer errorBuf = new StringBuffer(); String name = getString(NAME); System.out.println("name: "+name+", size: "+(name==null? -1:name.length())); if(name == null || name.trim().length() == 0) { errorBuf.append("商品类型名称不能为空").append("\r\n"); } if(errorBuf.length()>0) { throw new ValidationException(errorBuf.toString().trim()); } } }