使用 Struts 2 + Dojo 框架进行表单验证
Posted
技术标签:
【中文标题】使用 Struts 2 + Dojo 框架进行表单验证【英文标题】:Form validation with Struts 2 + Dojo framework 【发布时间】:2011-10-19 16:01:35 【问题描述】:我是 Dojo 的新手,我正在尝试使用 Struts2 标记验证表单(例如本示例的最后一个:http://dojotoolkit.org/documentation/tutorials/1.6/validation/),但我不能。 使用“经典”html 表单(标签,...)一切都很好,但使用 Struts 2 标签(),“必需”验证不起作用...
这是我的代码:
<script type="text/javascript">
dojo.require('dojox.validate');
dojo.require('dojox.validate.us');
dojo.require('dojox.validate.web');
/* basic dijit classes */
dojo.require('dijit.form.CheckBox');
dojo.require('dijit.form.Textarea');
dojo.require('dijit.form.FilteringSelect');
dojo.require('dijit.form.TextBox');
dojo.require('dijit.form.ValidationTextBox');
dojo.require('dijit.form.DateTextBox');
dojo.require('dijit.form.TimeTextBox');
dojo.require('dijit.form.Button');
dojo.require('dijit.form.RadioButton');
dojo.require('dijit.form.Form');
dojo.require('dijit.form.DateTextBox');
/* basic dojox classes */
dojo.require('dojox.form.BusyButton');
dojo.require('dojox.form.CheckedMultiSelect');
</script>
<s:form dojoType="dijit.form.Form" method="post" id="toto"
theme="simple">
<script type="dojo/method" event="onSubmit">
if(this.validate())
return confirm('Form is valid, press OK to submit');
else
alert('Formulaire invalide');
return false;
return true;
</script>
<table cellpadding="0" cellspacing="2">
<tr>
<td valign="top"><strong>First Name*: </strong></td>
<td>
<s:textfield
name="email"
id="email"
placeholder="Your email"
dojoType="dijit.form.ValidationTextBox"
required="true"
missingMessage="Obligatoire !" />
</td>
</tr>
</table>
<s:submit
value="Submit Form"
label="Submit Form"
id="submitButton"
dojoType="dijit.form.Button"/>
</s:form>
请问如何使用 struts 标签检查我的字段是否为空? 谢谢大家
【问题讨论】:
【参考方案1】:您需要检查以确保您正在渲染的内容是 Dojo 所期望的。我不知道当前的 Dojo 验证是如何工作的,但是:
“必需”属性是<s:textfield>
的一个属性,它可能没有被渲染,因此对Dojo 不可用——如果Dojo 使用它来确定字段是否是必需的。
【讨论】:
嗨,Dojo 正在等待 "required" 属性,但就像你说的,这个不是由 "s:textfield" 标记呈现的,所以 Dojo 找不到他也不知道该字段是必需的。这是我的问题:我该怎么办? 我找到了我的解决方案。只需将 data-dojo-props="required : true" 作为以上是关于使用 Struts 2 + Dojo 框架进行表单验证的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Struts2 框架向 Dojo 树提供 JSON 数据