You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by jk...@apache.org on 2007/07/28 20:15:57 UTC
svn commit: r560586 - in /tapestry/tapestry4/trunk:
tapestry-examples/Workbench/src/context/
tapestry-examples/Workbench/src/context/WEB-INF/
tapestry-examples/Workbench/src/context/css/
tapestry-examples/Workbench/src/java/org/apache/tapestry/workbenc...
Author: jkuhnert
Date: Sat Jul 28 11:15:56 2007
New Revision: 560586
URL: http://svn.apache.org/viewvc?view=rev&rev=560586
Log:
-) Fixed dojo client side validation bug for form array like fields. TAPESTRY-1663.
-) Removed old dojo 0.4.2.
-) Updated Workbench to have a sample @RadioGroup using client side validation.
Removed:
tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.2/
Modified:
tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/context/Fields.html
tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/context/WEB-INF/Fields.page
tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/context/css/workbench.css
tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/java/org/apache/tapestry/workbench/Visit.java
tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3/dojo2.js
tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3/src/validate/check.js
Modified: tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/context/Fields.html
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/context/Fields.html?view=diff&rev=560586&r1=560585&r2=560586
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/context/Fields.html (original)
+++ tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/context/Fields.html Sat Jul 28 11:15:56 2007
@@ -58,7 +58,7 @@
<th><label jwcid="@FieldLabel" accessKey="z" field="component:zipCode"/></th>
<td><input jwcid="zipCode" /></td>
</tr>
-
+
<tr>
<th><label for="phone" accessKey="p">Phone</label></th>
<td><input jwcid="phone" /></td>
@@ -74,7 +74,17 @@
</tr>
<tr>
- <td></td>
+ <th><label jwcid="@FieldLabel" field="component:choose" /></th>
+ <td>
+ <div jwcid="choose@RadioGroup" selected="ognl:visit.choice" displayName="Choose" validators="validators:required" >
+ <input jwcid="@Radio" value="literal:2" /> Yes
+ <input jwcid="@Radio" value="literal:4" /> No
+ </div>
+ </td>
+ </tr>
+
+ <tr>
+ <td> </td>
<td><input jwcid="continue@ImageSubmit" image="asset:continue"/></td>
</tr>
Modified: tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/context/WEB-INF/Fields.page
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/context/WEB-INF/Fields.page?view=diff&rev=560586&r1=560585&r2=560586
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/context/WEB-INF/Fields.page (original)
+++ tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/context/WEB-INF/Fields.page Sat Jul 28 11:15:56 2007
@@ -15,108 +15,108 @@
limitations under the License.
-->
-<!DOCTYPE page-specification PUBLIC
- "-//Apache Software Foundation//Tapestry Specification 4.0//EN"
- "http://tapestry.apache.org/dtd/Tapestry_4_0.dtd">
+<!DOCTYPE page-specification PUBLIC
+ "-//Apache Software Foundation//Tapestry Specification 4.0//EN"
+ "http://tapestry.apache.org/dtd/Tapestry_4_0.dtd">
<page-specification class="org.apache.tapestry.workbench.fields.Fields">
-
- <property name="clientValidationEnabled" persist="client" initial-value="true"/>
-
- <property name="mask" initial-value="literal:(###) ###-####" />
-
- <bean name="required" class="org.apache.tapestry.form.validator.Required"/>
- <bean name="delegate" class="org.apache.tapestry.workbench.WorkbenchValidationDelegate" />
-
- <bean name="dateValidator" lifecycle="render" class="org.apache.tapestry.form.validator.MinDate">
- <set name="minDate" value="new java.util.Date()"/>
- </bean>
-
- <component id="inputEnabled" type="Checkbox">
- <binding name="value" value="clientValidationEnabled"/>
- <binding name="onClick" value="literal:tapestry.form.submit(this.form)"/>
- </component>
-
- <component id="showError" type="form/ShowError">
- <binding name="delegate" value="bean:delegate"/>
- </component>
-
- <component id="inputDate" type="TextField">
- <binding name="value" value="visit.dateValue"/>
- <binding name="translator" value="translator:date,pattern=MM-dd-yyyy,lenient=false"/>
- <binding name="validators" value="{ beans.required, beans.dateValidator }"/>
- <binding name="displayName" value="literal:Date Field"/>
- </component>
-
-
- <component id="inputInt" type="TextField">
- <binding name="value" value="visit.intValue"/>
- <binding name="translator" value="translator:number,pattern=#"/>
- <binding name="displayName" value="literal:Integer Field"/>
- <binding name="validators" value="validators:required,min=5,max=20"/>
- </component>
-
- <component id="inputDouble" type="TextField">
- <binding name="value" value="visit.doubleValue"/>
- <binding name="translator" value="translator:number,pattern=#.#"/>
- <binding name="validators" value="validators:required,min=3.14,max=4627.5"/>
- <binding name="displayName" value="literal:Double Field"/>
- </component>
-
- <component id="inputBigDecimal" type="TextField">
- <binding name="value" value="visit.bigDecimalValue"/>
- <binding name="translator" value="translator:number,pattern=#.#"/>
- <binding name="validators" value="validators:required,min=2,max=100.123456234563456734563456356734567456784567456784567845675678456785678"/>
- <binding name="displayName" value="literal:Big Decimal Field"/>
- </component>
-
- <component id="inputLong" type="TextField">
- <binding name="value" value="visit.longValue"/>
- <binding name="translator" value="translator:number,pattern=#"/>
- <binding name="validators" value="validators:required,min=6,max=21"/>
- <binding name="displayName" value="literal:Long Field"/>
- </component>
-
- <component id="inputString" type="TextField">
- <binding name="value" value="visit.stringValue"/>
- <binding name="validators" value="validators:required,minLength=3"/>
- <binding name="displayName" value="literal:String Field"/>
- </component>
-
- <component id="inputEmail" type="TextField">
- <binding name="value" value="visit.emailValue"/>
- <binding name="validators" value="validators:required,email"/>
- <binding name="displayName" value="literal:Email Field"/>
- </component>
-
- <bean name="zipValidator" class="org.apache.tapestry.form.validator.Pattern">
- <set name="pattern" value="message:zip-code-pattern"/>
- <set name="message" value="message:zip-code-message"/>
- </bean>
-
- <component id="zipCode" type="TextField">
- <binding name="value" value="visit.zipCode"/>
- <binding name="validators" value="validators:required,$zipValidator"/>
- <binding name="displayName" value="message:zip-code-label"/>
- </component>
-
- <component id="phone" type="contrib:MaskEdit">
- <binding name="value" value="visit.phone"/>
- <binding name="mask" value="literal:(###) ###-####"/>
- </component>
-
- <component id="ipaddress" type="TextField">
- <binding name="value" value="visit.ipaddress"/>
- <binding name="displayName" value="literal:IP Address"/>
- <binding name="validators" value="validators:required"/>
- <binding name="mask" value="literal:###.###.###.###"/>
- </component>
-
- <component id="textArea" type="TextArea">
- <binding name="value" value="visit.textValue"></binding>
- <binding name="validators" value="validators:required,minLength=20"/>
- <binding name="displayName" value="literal:Text Area"/>
- </component>
+ <property name="clientValidationEnabled" persist="client" initial-value="true"/>
+
+ <property name="mask" initial-value="literal:(###) ###-####" />
+
+ <bean name="required" class="org.apache.tapestry.form.validator.Required"/>
+ <bean name="delegate" class="org.apache.tapestry.workbench.WorkbenchValidationDelegate" />
+
+ <bean name="dateValidator" lifecycle="render" class="org.apache.tapestry.form.validator.MinDate">
+ <set name="minDate" value="new java.util.Date()"/>
+ </bean>
+
+ <component id="inputEnabled" type="Checkbox">
+ <binding name="value" value="clientValidationEnabled"/>
+ <binding name="onClick" value="literal:tapestry.form.submit(this.form)"/>
+ </component>
+
+ <component id="showError" type="form/ShowError">
+ <binding name="delegate" value="bean:delegate"/>
+ </component>
+
+ <component id="inputDate" type="TextField">
+ <binding name="value" value="visit.dateValue"/>
+ <binding name="translator" value="translator:date,pattern=MM-dd-yyyy,lenient=false"/>
+ <binding name="validators" value="{ beans.required, beans.dateValidator }"/>
+ <binding name="displayName" value="literal:Date Field"/>
+ </component>
+
+
+ <component id="inputInt" type="TextField">
+ <binding name="value" value="visit.intValue"/>
+ <binding name="translator" value="translator:number,pattern=#"/>
+ <binding name="displayName" value="literal:Integer Field"/>
+ <binding name="validators" value="validators:required,min=5,max=20"/>
+ </component>
+
+ <component id="inputDouble" type="TextField">
+ <binding name="value" value="visit.doubleValue"/>
+ <binding name="translator" value="translator:number,pattern=#.#"/>
+ <binding name="validators" value="validators:required,min=3.14,max=4627.5"/>
+ <binding name="displayName" value="literal:Double Field"/>
+ </component>
+
+ <component id="inputBigDecimal" type="TextField">
+ <binding name="value" value="visit.bigDecimalValue"/>
+ <binding name="translator" value="translator:number,pattern=#.#"/>
+ <binding name="validators" value="validators:required,min=2,max=100.123456234563456734563456356734567456784567456784567845675678456785678"/>
+ <binding name="displayName" value="literal:Big Decimal Field"/>
+ </component>
+
+ <component id="inputLong" type="TextField">
+ <binding name="value" value="visit.longValue"/>
+ <binding name="translator" value="translator:number,pattern=#"/>
+ <binding name="validators" value="validators:required,min=6,max=21"/>
+ <binding name="displayName" value="literal:Long Field"/>
+ </component>
+
+ <component id="inputString" type="TextField">
+ <binding name="value" value="visit.stringValue"/>
+ <binding name="validators" value="validators:required,minLength=3"/>
+ <binding name="displayName" value="literal:String Field"/>
+ </component>
+
+ <component id="inputEmail" type="TextField">
+ <binding name="value" value="visit.emailValue"/>
+ <binding name="validators" value="validators:required,email"/>
+ <binding name="displayName" value="literal:Email Field"/>
+ </component>
+
+ <bean name="zipValidator" class="org.apache.tapestry.form.validator.Pattern">
+ <set name="pattern" value="message:zip-code-pattern"/>
+ <set name="message" value="message:zip-code-message"/>
+ </bean>
+
+ <component id="zipCode" type="TextField">
+ <binding name="value" value="visit.zipCode"/>
+ <binding name="validators" value="validators:required,$zipValidator"/>
+ <binding name="displayName" value="message:zip-code-label"/>
+ </component>
+
+ <component id="phone" type="contrib:MaskEdit">
+ <binding name="value" value="visit.phone"/>
+ <binding name="mask" value="literal:(###) ###-####"/>
+ </component>
+
+ <component id="ipaddress" type="TextField">
+ <binding name="value" value="visit.ipaddress"/>
+ <binding name="displayName" value="literal:IP Address"/>
+ <binding name="validators" value="validators:required"/>
+ <binding name="mask" value="literal:###.###.###.###"/>
+ </component>
+
+ <component id="textArea" type="TextArea">
+ <binding name="value" value="visit.textValue" />
+ <binding name="validators" value="validators:required,minLength=20"/>
+ <binding name="displayName" value="literal:Text Area"/>
+ </component>
+
</page-specification>
Modified: tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/context/css/workbench.css
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/context/css/workbench.css?view=diff&rev=560586&r1=560585&r2=560586
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/context/css/workbench.css (original)
+++ tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/context/css/workbench.css Sat Jul 28 11:15:56 2007
@@ -282,32 +282,3 @@
list-style:none;
font-style:italic;
}
-/*
-.tablePages {
- background-color: #5298D9;
- padding-top: 0.1em;
- padding-bottom: 0.1em;
- padding-left: 0.1em;
- margin: 0;
- padding-bottom: 0;
- -moz-border-radius-topleft: 0.3em;
- -moz-border-radius-topright: 0.3em;
-}
-
-.tablePagesLinks {
- background-color: #E0F3F7;
- display:block;
- padding-top: 0.4em;
- padding-bottom: 0.1em;
- padding-left: 0.4em;
- margin:0;
- -moz-border-radius-topleft: 0.3em;
- -moz-border-radius-topright: 0.3em;
-}
-*/
-/*
-.tablePagesLinks span a, .tablePagesLinks a, .tablePagesLinks {
- color: #7E7E7E;
- font-size: 1.1em;
-}
-*/
\ No newline at end of file
Modified: tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/java/org/apache/tapestry/workbench/Visit.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/java/org/apache/tapestry/workbench/Visit.java?view=diff&rev=560586&r1=560585&r2=560586
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/java/org/apache/tapestry/workbench/Visit.java (original)
+++ tapestry/tapestry4/trunk/tapestry-examples/Workbench/src/java/org/apache/tapestry/workbench/Visit.java Sat Jul 28 11:15:56 2007
@@ -49,26 +49,17 @@
*/
private Integer _intValue;
-
private Double _doubleValue;
-
private BigDecimal _bigDecimalValue;
-
private Long _longValue;
-
private Date _dateValue;
-
private String _stringValue;
-
private String _emailValue;
-
private String _textValue;
-
private String _zipCode;
-
private String _phone;
-
private String _ipAddress;
+ private int _choice;
/**
* @return the phone
@@ -78,7 +69,6 @@
return _phone;
}
-
/**
* @param phone the phone to set
*/
@@ -215,5 +205,15 @@
public void setIpaddress(String address)
{
_ipAddress = address;
+ }
+
+ public int getChoice()
+ {
+ return _choice;
+ }
+
+ public void setChoice(int choice)
+ {
+ _choice = choice;
}
}
Modified: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3/dojo2.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3/dojo2.js?view=diff&rev=560586&r1=560585&r2=560586
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3/dojo2.js (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3/dojo2.js Sat Jul 28 11:15:56 2007
@@ -671,9 +671,7 @@
}
if(_84.required instanceof Array){
for(var i=0;i<_84.required.length;i++){
-if(!dojo.lang.isString(_84.required[i])){
-continue;
-}
+if(!dojo.lang.isString(_84.required[i])){continue;}
var _8d=_83[_84.required[i]];
if(!dj_undef("type",_8d)&&(_8d.type=="text"||_8d.type=="textarea"||_8d.type=="password"||_8d.type=="file")&&/^\s*$/.test(_8d.value)){
_85[_85.length]=_8d.name;
@@ -681,7 +679,7 @@
if(!dj_undef("type",_8d)&&(_8d.type=="select-one"||_8d.type=="select-multiple")&&(_8d.selectedIndex==-1||/^\s*$/.test(_8d.options[_8d.selectedIndex].value))){
_85[_85.length]=_8d.name;
}else{
-if(_8d instanceof Array){
+if(dojo.lang.isArrayLike(_8d)){
var _8f=false;
for(var j=0;j<_8d.length;j++){
if(_8d[j].checked){
@@ -690,23 +688,16 @@
}
if(!_8f){
_85[_85.length]=_8d[0].name;
-}
-}
-}
-}
-}
-}
+}}}}}}
if(_84.required instanceof Array){
for(var i=0;i<_84.required.length;i++){
-if(!dojo.lang.isObject(_84.required[i])){
-continue;
-}
+if(!dojo.lang.isObject(_84.required[i])){continue;}
var _8d,_91;
for(var _92 in _84.required[i]){
_8d=_83[_92];
_91=_84.required[i][_92];
}
-if(_8d instanceof Array){
+if(dojo.lang.isArrayLike(_8d)){
var _8f=0;
for(var j=0;j<_8d.length;j++){
if(_8d[j].checked){
@@ -726,11 +717,7 @@
}
if(_93<_91){
_85[_85.length]=_8d.name;
-}
-}
-}
-}
-}
+}}}}}
if(dojo.lang.isObject(_84.dependencies)||dojo.lang.isObject(_84.dependancies)){
if(_84["dependancies"]){
dojo.deprecated("dojo.validate.check","profile 'dependancies' is deprecated, please use "+"'dependencies'","0.5");
Modified: tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3/src/validate/check.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3/src/validate/check.js?view=diff&rev=560586&r1=560585&r2=560586
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3/src/validate/check.js (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/js/dojo-0.4.3/src/validate/check.js Sat Jul 28 11:15:56 2007
@@ -88,7 +88,7 @@
if(!dj_undef("type",_b)&&(_b.type=="select-one"||_b.type=="select-multiple")&&(_b.selectedIndex==-1||/^\s*$/.test(_b.options[_b.selectedIndex].value))){
_3[_3.length]=_b.name;
}else{
-if(_b instanceof Array){
+if(dojo.lang.isArrayLike(_b)){
var _d=false;
for(var j=0;j<_b.length;j++){
if(_b[j].checked){
@@ -113,7 +113,7 @@
_b=_1[_10];
_f=_2.required[i][_10];
}
-if(_b instanceof Array){
+if(dojo.lang.isArrayLike(_b)){
var _d=0;
for(var j=0;j<_b.length;j++){
if(_b[j].checked){