You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Marcus Schulte (JIRA)" <de...@tapestry.apache.org> on 2007/11/05 13:15:50 UTC
[jira] Issue Comment Edited: (TAPESTRY-1806) Client-Side Validation
doesn't work correctly
[ https://issues.apache.org/jira/browse/TAPESTRY-1806?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12540181 ]
mschu edited comment on TAPESTRY-1806 at 11/5/07 4:14 AM:
-------------------------------------------------------------------
caused by the fix for TAPESTRY-1663 in conjunction with flawed logic in dojo.validate :
- <select> dom-nodes are "arrayLike"
- dojo.validate.check does not separate identifying an input controls type from checking whether it's empty
fixed version in non-compressed format:
//...
// See if required input fields have values missing.
if(profile.required instanceof Array){
for(var i = 0; i < profile.required.length; i++){
if(!dojo.lang.isString(profile.required[i])){ continue; }
var elem = form[profile.required[i]];
// Are textbox, textarea, or password fields blank.
if(!dj_undef("type", elem) && (elem.type == "text" || elem.type == "textarea" || elem.type == "password" || elem.type == "file")){
if ( /^\s*$/.test(elem.value) )
missing[missing.length] = elem.name;
}
// Does drop-down box have option selected.
else if(!dj_undef("type", elem) && (elem.type == "select-one" || elem.type == "select-multiple") ){
if ( elem.selectedIndex == -1
|| /^\s*$/.test(elem.options[elem.selectedIndex].value ) )
missing[missing.length] = elem.name;
}
// Does radio button group (or check box group) have option checked.
else if(dojo.lang.isArrayLike(elem)){
var checked = false;
for(var j = 0; j < elem.length; j++){
if (elem[j].checked) { checked = true; }
}
if(!checked){
missing[missing.length] = elem[0].name;
}
}
}
}
//...
was (Author: mschu):
caused by the fix for TAPESTRY-1663 in conjunction with flawed logic in dojo.validate :
- <select> dom-nodes are "arrayLike"
- dojo.validate.check does not separate identifying an input controls type from checking whether it's empty
> Client-Side Validation doesn't work correctly
> ---------------------------------------------
>
> Key: TAPESTRY-1806
> URL: https://issues.apache.org/jira/browse/TAPESTRY-1806
> Project: Tapestry
> Issue Type: Bug
> Components: Core Components
> Affects Versions: 4.1.3
> Reporter: Marco Valverde
> Assignee: Marcus Schulte
> Priority: Blocker
>
> If the data in a form is invalid a proper dojo dialog pops up. ok so far!
> But, if the data in the form is absolutely valid an empty dojo dialog pops up.
> In this case the dialog contains no message and only an OK-button.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org