基于Tapestry4

源代码在线查看: fruitmountvalidator.java

软件大小: 20 K
上传用户: xxjjyy1237
关键词: Tapestry4
下载地址: 免注册下载 普通下载 VIP

相关代码

				package com.tapestry4;
				
				import org.apache.tapestry.IMarkupWriter;
				import org.apache.tapestry.IRequestCycle;
				import org.apache.tapestry.form.FormComponentContributorContext;
				import org.apache.tapestry.form.IFormComponent;
				import org.apache.tapestry.form.ValidationMessages;
				import org.apache.tapestry.form.validator.Validator;
				import org.apache.tapestry.valid.ValidatorException;
				
				public class FruitMountValidator implements Validator {
					
					private Integer fruitId;
				
					public void validate(IFormComponent field, ValidationMessages message,
							Object object) throws ValidatorException {
						Fruit fruit = Products.findFruitById(this.getFruitId());
						Number n = (Number)object;
						if(n.intValue()>fruit.getMount()){
							throw new ValidatorException("购买数量大于"+ fruit.getName() +"的存货(" + fruit.getMount() + "),请重新输入!", null);
						}
					}
				
					/**
					 * 是否把null作为效验的值。如果返回true,则不输入任何值也会触发validate方法,只是第三个参数为Object的值null。
					 * 如果返回为false,则输入null不触发validate方法。
					 */
					public boolean getAcceptsNull() {
						return false;
					}
				
					/**
					 * tapestry并不会使用这个方法,该方法只是为了方便自己标识。
					 */
					public boolean isRequired() {
						return true;
					}
				
					
					/**
					 * 这个方法可以用来放置JavaScript。
					 */
					public void renderContribution(IMarkupWriter arg0, IRequestCycle arg1,
							FormComponentContributorContext arg2, IFormComponent arg3) {
					}
				
					public Integer getFruitId() {
						return fruitId;
					}
				
					public void setFruitId(Integer fruitId) {
						this.fruitId = fruitId;
					}
				}
							

相关资源