[jboss-user] [JBoss Seam] - Re: Validate fileUpload
mustaghattack
do-not-reply at jboss.com
Thu Sep 27 07:59:39 EDT 2007
I've submitted a patch for UIFileUpload.
http://jira.jboss.com/jira/browse/JBSEAM-1981
With this patch you can use the hibernate validator framework.
For example I've done an Image annotation which check if a byte[] can be read by ImageIO.
| @ValidatorClass(ImageValidator.class)
| @Target({ElementType.FIELD, ElementType.METHOD})
| @Retention(RetentionPolicy.RUNTIME)
| @Documented
| public @interface Image {
| String message() default "not a valid image";
| }
|
| public class ImageValidator implements Validator<Image> {
|
| public void initialize(Image parameters) {
| }
|
| public boolean isValid(Object value) {
| if( value == null ) return true;
| if( ! (value instanceof byte[]) ) return false;
|
| byte[] data = (byte[])value;
|
| try {
| BufferedImage img =
| ImageIO.read( new ByteArrayInputStream( data ) );
|
| return img == null ? false : true;
| } catch (IOException e) {
| return false;
| }
| }
| }
|
So you can use it in your Entity
| @Entity
| public class AnEntity {
| @Lob
| @Image
| private byte[] data;
|
| ...
| }
|
In the Facelets :
| <s:fileUpload id="uplEditedImage" value="#{image.data}"/>
|
About my last post, I'm not quite right :) file upload occur during the apply request value phase but the submittedValue attribute wasn't set and the ModelValidator need a "value" attribute instead of "data".
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4089282#4089282
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4089282
More information about the jboss-user
mailing list