1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.exoplatform.wcm.webui.validator;
18
19 import org.exoplatform.webui.core.UIComponent;
20 import org.exoplatform.webui.form.UIForm;
21 import org.exoplatform.webui.form.UIFormInput;
22 import org.exoplatform.webui.form.validator.Validator;
23 import org.exoplatform.web.application.ApplicationMessage;
24 import org.exoplatform.webui.exception.MessageException;
25 import org.exoplatform.webui.application.WebuiRequestContext;
26
27
28
29
30
31
32
33
34 public class FloatNumberValidator implements Validator{
35 @SuppressWarnings("unchecked")
36 public void validate(UIFormInput uiInput) throws Exception {
37 if (uiInput.getValue()==null || ((String)uiInput.getValue()).length()==0) return;
38 WebuiRequestContext rc = WebuiRequestContext.getCurrentInstance();
39 UIComponent uiComponent = (UIComponent) uiInput ;
40 UIForm uiForm = uiComponent.getAncestorOfType(UIForm.class) ;
41 String label;
42 try{
43 label = uiForm.getLabel(uiInput.getName());
44 } catch(Exception e) {
45 label = uiInput.getName();
46 }
47 label = label.trim();
48 String s = (String)uiInput.getValue();
49 try {
50 Float.parseFloat(s);
51 } catch (NumberFormatException ex) {
52 Object[] args = {label};
53 throw new MessageException(new ApplicationMessage("FloatNumberValidator.msg.Invalid-number", args,
54 ApplicationMessage.WARNING));
55 }
56 }
57 }