Webx表单验证
Webx表单验证
酷游博客

Webx表单验证

酷游
1月22日发布 /正在检测是否收录...

拿典型的petstore举例子,首先看一下WEB-INF的目录结构:

WEB-INFO
    ├── common
    │   ├── pipeline-exception.xml
    │   ├── pipeline.xml
    │   ├── resources.xml
    │   ├── template-data.xml
    │   ├── uris.xml
    │   ├── webx-component-and-root.xml
    │   └── webx-component.xml
    ├── home
    │   └── form.xml
    ├── store
    │   └── form.xml
    ├── user
    │   └── form.xml
    ├── webx-home.xml
    ├── web.xml
    ├── webx-store.xml
    ├── webx-user.xml
    └── webx.xml

一、注册服务

1. webx.xml

webx.xml中,关于服务的配置如下:


    
        
        
        
        
    

可以看出,这里并没有关于表单的配置,但是webx.xml中有:


    

这个表示引入common/webx-component.xml中的配置,那我们接着看。

2.webx-component.xml

 
        
        
        
        
        
        
        

这里的是重点。

总结,要注册form-tool服务。该服务要配置在webx.xml文件中,或者其他文件中,但是要使用import引进来。

二、应用和定义form.xml

1.webx-user.xml

  
    

webx-user.xml文件中引入form.xml文件。 这里的form.xml文件位与user目录下面。具体的目录结构可以看文章开头。

2. form.xml


        
        
            
                
                    提交的数据已过期
                
            
        
 
        
            
            
                必须填写 ${displayName}
            
            
                ${displayName} 必须由字母、数字、下划线构成
            
            
                ${displayName} 最少必须由${minLength}个字组成,最多不能超过${maxLength}个字
            
        

        

这里定义一个group,名字为register。其中规定了registerError的验证逻辑。

总结,需要有一个form.xml文件,并且在文件中写好针对某一个group里面的个各个属性的验证逻辑。

三、VM页面 看一下,user文件夹的目录情况

user
├── css
│   └── petstore-user.css
└── templates
    ├── control
    │   └── login.vm
    ├── layout
    │   └── default.vm
    └── screen
        └── register.vm

这里的user对应于webx-user.xml的这个user,因为webx-user.xml定义了装载该模块


    
        
            
        
    

1. register.vm

#macro (registerMessage $field)
    #if (!$field.valid) $field.message #end
#end

$csrfToken.hiddenField

#set ($group = $form.register.defaultInstance)

用户注册


#registerMessage ($group.registerError)

2.RegisterAction类

@Autowired
private FormService formService;
public void execute(TurbineRunData rundata, Context context){
  Form form = formService.getForm(); 
        if (form.isValid()) {
            //doSth
        }
}

参考资料:

Webx Framework

© 版权声明
THE END
喜欢就支持一下吧
点赞 0 分享 赞赏
评论
当前页面的评论已关闭
易航博客
SSL