如何验证支柱 2 中的所有表单字段
How to validate all the form fields in Struts 2
我已经创建了一个包含以下字段的登录页面,现在如何在提交进行身份验证之前验证这些字段?请指导我,我是支柱2的新手。struts2 是否提供了验证表单字段的其他方法?
哪一个是最好的方法? 我可以使用 JavaScript 来验证 struts2 表单字段吗?
请指导我。提前致谢
我的操作类名称是登录操作.java
而我的登录.jsp是
<s:form action="">
<s:textfield label="Username" key="username"></s:textfield><br/>
<s:password label="Password" key="password"></s:password><br/>
<s:textarea label="Address" key="address"></s:textarea>
<s:radio list="{'Male','Female'}" label="Gender" key="gender"></s:radio>
<s:file key="file"></s:file>
<s:select list="{'Select a value','India','Australia','England','Srilanka','Japan','Other'}" label="Country" key="country"></s:select>
<s:submit label="Add Information"></s:submit>
</s:form>
我已经创建了一个包含以下字段的登录页面,现在如何在提交进行身份验证之前验证这些字段?请指导我,我是支柱2的新手。struts2 是否提供了验证表单字段的其他方法?
哪一个是最好的方法? 我可以使用 JavaScript 来验证 struts2 表单字段吗?
请指导我。提前致谢
My action class name is LoginAction.java
您可以使用
ActionSupport类的验证方法,在这种情况下,您的Action类应该扩展ActionSupport类,另一种方法是在XML文件中验证,在Action类中添加以下方法
public void validate()
{
if(StringUtils.isEmpty(getUsername()))
{
addFieldError("username", "UserId can't be blank");
}
if(StringUtils.isEmpty(getPassword()))
{
addFieldError("password","password can't be blank");
}
}
或者使用 XML 作为
<validators>
<field name="username">
<field-validator type="requiredstring">
<message>userID is Required.</message>
</field-validator>
<field-validator type="regex">
<param name="expression">[a-zA-Z]{2,20}</param>
<message>Please enter valid userID.</message>
</field-validator>
</field>
<field name="password">
<field-validator type="requiredstring">
<message>Password is Required.</message>
</field-validator>
</field>
<field name="address">
<field-validator type="requiredstring">
<message>address is Required.</message>
</field-validator>
</field>
<field name="gender">
<field-validator type="requiredstring">
<message>Gender is Required.</message>
</field-validator>
</field>
<field name="country">
<field-validator type="regex">
<param name="expression">India|Australia|England|Srilanka|Japan|Other</param>
<message>Course is required.</message>
</field-validator>
</field>
</validators>
XML 文件的名称应采用 -validation 格式.xml并且位于同一包中
最后添加
<result name="input">/login.jsp</result> in struts.xml file inside <action></action>
相关文章:
- 通过单击动态加载的表中同一行的另一个字段来更新一行的字段
- 添加和删除隐藏字段数组中的值,而不提交表单
- 单击鼠标,用MySQL数据填充html表单输入字段
- 带有条件字段的PHP表单
- 防止在输入字段上单击事件
- 高级自定义字段按单选按钮值排序
- 使用JQuery启用输入字段的单选框
- SmartyStreets:使用条件字段调整表单中已验证勾号的位置
- 组合功能以使用 Jquery 在一组单选按钮中显示输入字段和单选按钮
- 使只读字段不可单击
- 使用 JavaScript 进行 HTML 字段表单验证
- JavaScript 在不输入输入字段/表单的情况下传递输入
- JQuery 在动态添加输入字段时单击浏览,而 ajax 不起作用
- 我可以让时间选择器在输入字段中单击时触发吗?
- 将隐藏字段表单值传递给控制器
- 隐藏小视口中的字段,单击按钮再次显示
- 我可以给html文本字段表单中的元素提供相同的名称和id吗
- 在新行上显示输入字段(基于单选)
- 在文本字段(表单)后插入节点
- 动态生成的名称字段的单选按钮组验证