Webx框架:表单验证

表单验证

传统的应用中,表单中的数据是放在Java代码中进行检验的。这种方法在编写java代码的时候很无聊,而且后期的修改也不方便。 而webx框架将表单验证的逻辑独立放在配置文件中。这种方式更加方便。

webx中,表单的验证有三个步骤:

  1. 定义验证规则
  2. 在Java代码中调用该规则
  3. 在页面中显示验证结果。

定义验证规则。下面是验证规则的一个例子。

 
 
 
<services:form xmlns="http://www.alibaba.com/schema/services/form/validators">
  <services:group name="register">
    <services:field name="userId" displayName= "登录名" >
      <required-validator>
        <message> 必须填写 ${displayName}</message>
      </required-validator>
      <regexp-validator pattern="^[A-Za-z_][A-Za-z_0-9]*$">
        <message>${displayName} 必须由字母、数字、下划线构成 </message>
      </regexp-validator>
      <string-length-validator minLength="4" maxLength="10">
        <message>${displayName} 最少必须由 ${minLength} 个字组成,最多不能超过 ${maxLength} 个字 </message>
      </string-length-validator>
    </services:field>
  </services:group>
</services:form>

上面这个例子中,最外层是form,表示表单验证服务。一个验证服务中可以包含多个group,表示验证组。 一个验证组中可以包含多个field,表示验证字段。每个验证字段中可以包含多个validator,表示验证规则。 每个验证规则只能包含一个错误消息。

编写Java代码。下面是Java代码的一个例子。


  
  
  
public class AddUserAction {
  public void doAdd(@FormGroup("register") MyUser userNavigator nav) throws Exception {
    save(user);
    nav.redirectTo("registerSuccess");
  }
}

上面这个例子中使用了@FormGroup注解,它的意思是通过register规则校验表单, 如果校验失败会让用户重新填写表单,如果校验成功,就会执行方法中的代码。 AddUserActiondoAdd这些符号需要告诉框架,在后面会详细讲解。

编写表单。首先要定义表单工具,这样才能在页面中通过$form进行访问。

 
 
 
<services:pull xmlns="http://www.alibaba.com/schema/services/pull/factories">
  <form-tool />
  ...
</services:pull>

表单内容。

 
 
 
<form method="post" action="">
 
  <!-- 获取一个名为register的Group验证规则。由于每个group可以有多个实例,这里只使用默认的实例。-->
  #set ($group = $form.register.defaultInstance)
 
  <!-- 用户名字段。 -->
  
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值