A "String that Uses only Numbers" Field works in 2.2 but not in 2.3

Dear all,
I have a widget that accepts strings as numbers and it is a required field.
In a Galaxy Tab device running 2.2, I can input the string "2345678902"
and it will accept and move to the next page. Inputting the same
string "2345678902" on the same form but on a Galaxy Tab Plus 3.2 gives me
the default error message "Sorry this response is required!" as if the
field has not been filled out. substituting the initial "2" for a "1" so
that the string reads "1345678902" and the form accepts this and moves on.
Also if the string is less than 10 digits, eg "234567890", the form
accepts it even though I have no restrictions on my binding in regards to
string length. I iterate that it works fine on the galaxy 2.2, only
problematic on the galaxy 3.2.

Thanks in advance,
Tumaini

Correction: It will accept a 10 digit string that begins with a "1" eg
"1234567845" and it will be accepted but "2234567845" will throw the error
"Sorry this response is required!". Furthermore, any string longer than 10
digits throws the error "sorry this response is required!" regardless
whether it starts with a "1" or a "2".

The binding is like:


and in the body I have:

                   <input ref="manualParticipantId" 

appearance="numbers">
Ingiza namba ya mshiriki
Namba hii ipo kwenye "wristband" ya mshiriki, au kwenye kadi ya
mwaliko.

I can send the entire form if need be?

Tumaini

··· On Tuesday, June 26, 2012 10:10:39 AM UTC+3, Tumaini Kilimba wrote: > > Dear all, > I have a widget that accepts strings as numbers and it is a required > field. In a Galaxy Tab device running 2.2, I can input the string > "2345678902" and it will accept and move to the next page. Inputting the > same string "2345678902" on the same form but on a Galaxy Tab Plus 3.2 > gives me the default error message "Sorry this response is required!" as if > the field has not been filled out. substituting the initial "2" for a "1" > so that the string reads "1345678902" and the form accepts this and moves > on. Also if the string is less than 10 digits, eg "234567890", the form > accepts it even though I have no restrictions on my binding in regards to > string length. I iterate that it works fine on the galaxy 2.2, only > problematic on the galaxy 3.2. > > Thanks in advance, > Tumaini >

Hmm. I don't have a 3.2 phone/tablet here.

I can only suggest double-checking that the latest ODK Collect is installed
on this 3.2 tablet (consider uninstalling and installing it). This sounds
like an issue that was happening with an earlier 1.1.7 build.

Mitch

··· On Tue, Jun 26, 2012 at 12:22 AM, Tumaini Kilimba wrote:

Correction: It will accept a 10 digit string that begins with a "1" eg
"1234567845" and it will be accepted but "2234567845" will throw the error
"Sorry this response is required!". Furthermore, any string longer than 10
digits throws the error "sorry this response is required!" regardless
whether it starts with a "1" or a "2".

The binding is like:


and in the body I have:

                   <input ref="manualParticipantId"

appearance="numbers">
Ingiza namba ya mshiriki
Namba hii ipo kwenye "wristband" ya mshiriki, au kwenye kadi ya
mwaliko.

I can send the entire form if need be?

Tumaini

On Tuesday, June 26, 2012 10:10:39 AM UTC+3, Tumaini Kilimba wrote:

Dear all,
I have a widget that accepts strings as numbers and it is a required
field. In a Galaxy Tab device running 2.2, I can input the string "
2345678902" and it will accept and move to the next page. Inputting the
same string "2345678902" on the same form but on a Galaxy Tab Plus 3.2
gives me the default error message "Sorry this response is required!" as if
the field has not been filled out. substituting the initial "2" for a "1"
so that the string reads "1345678902" and the form accepts this and moves
on. Also if the string is less than 10 digits, eg "234567890", the form
accepts it even though I have no restrictions on my binding in regards to
string length. I iterate that it works fine on the galaxy 2.2, only
problematic on the galaxy 3.2.

Thanks in advance,
Tumaini

--
Post: opendatakit@googlegroups.com
Unsubscribe: opendatakit+unsubscribe@googlegroups.com
Options: http://groups.google.com/group/opendatakit?hl=en

--
Mitch Sundt
Software Engineer
University of Washington
mitchellsundt@gmail.com

It really sounds like a problem of integer size. Remember, integers are 32
bit entities. With the highest order bit representin the negative, you get
2 to the 31 power, or 2.147 billion. I'll bet the number 2146000000 will
work fine. Putting a value in that is above the 2.147 billion forces the
error. Thus, it seems dangerous to allow a string field of 10 characters to
be used for an integer value. That is probably the difference between the
two versions, the way they handle strings and integer variables.

··· On 26 Jun 2012 20:35, "Mitch S" wrote:

Hmm. I don't have a 3.2 phone/tablet here.

I can only suggest double-checking that the latest ODK Collect is
installed on this 3.2 tablet (consider uninstalling and installing it).
This sounds like an issue that was happening with an earlier 1.1.7 build.

Mitch

On Tue, Jun 26, 2012 at 12:22 AM, Tumaini Kilimba tkilimba@ihi.or.tzwrote:

Correction: It will accept a 10 digit string that begins with a "1" eg
"1234567845" and it will be accepted but "2234567845" will throw the error
"Sorry this response is required!". Furthermore, any string longer than 10
digits throws the error "sorry this response is required!" regardless
whether it starts with a "1" or a "2".

The binding is like:


and in the body I have:

                   <input ref="manualParticipantId"

appearance="numbers">
Ingiza namba ya mshiriki
Namba hii ipo kwenye "wristband" ya mshiriki, au kwenye kadi ya
mwaliko.

I can send the entire form if need be?

Tumaini

On Tuesday, June 26, 2012 10:10:39 AM UTC+3, Tumaini Kilimba wrote:

Dear all,
I have a widget that accepts strings as numbers and it is a required
field. In a Galaxy Tab device running 2.2, I can input the string "
2345678902" and it will accept and move to the next page. Inputting the
same string "2345678902" on the same form but on a Galaxy Tab Plus 3.2
gives me the default error message "Sorry this response is required!" as if
the field has not been filled out. substituting the initial "2" for a "1"
so that the string reads "1345678902" and the form accepts this and moves
on. Also if the string is less than 10 digits, eg "234567890", the form
accepts it even though I have no restrictions on my binding in regards to
string length. I iterate that it works fine on the galaxy 2.2, only
problematic on the galaxy 3.2.

Thanks in advance,
Tumaini

--
Post: opendatakit@googlegroups.com
Unsubscribe: opendatakit+unsubscribe@googlegroups.com
Options: http://groups.google.com/group/opendatakit?hl=en

--
Mitch Sundt
Software Engineer
University of Washington
mitchellsundt@gmail.com

--
Post: opendatakit@googlegroups.com
Unsubscribe: opendatakit+unsubscribe@googlegroups.com
Options: http://groups.google.com/group/opendatakit?hl=en

I'd also double-check that this other form has a type="string" and
appearance="numbers" defined (that it isn't stuffing it into an int type).

Verifying that you are using the latest 1.1.7 is important -- an earlier
version tried to convert string types with the numbers appearance to an
integer as a cross-check before storing them as strings, and that would
also explain the odd behavior you're describing (which, as Curtis notes, is
likely a numeric overflow error due to some attempt at converting the
string to a 32-bit integer).

Mitch

··· On Tue, Jun 26, 2012 at 1:51 PM, Curtis Broderick <c.broderick@epiconcept.fr wrote:

It really sounds like a problem of integer size. Remember, integers are 32
bit entities. With the highest order bit representin the negative, you get
2 to the 31 power, or 2.147 billion. I'll bet the number 2146000000 will
work fine. Putting a value in that is above the 2.147 billion forces the
error. Thus, it seems dangerous to allow a string field of 10 characters to
be used for an integer value. That is probably the difference between the
two versions, the way they handle strings and integer variables.
On 26 Jun 2012 20:35, "Mitch S" mitchellsundt@gmail.com wrote:

Hmm. I don't have a 3.2 phone/tablet here.

I can only suggest double-checking that the latest ODK Collect is
installed on this 3.2 tablet (consider uninstalling and installing it).
This sounds like an issue that was happening with an earlier 1.1.7 build.

Mitch

On Tue, Jun 26, 2012 at 12:22 AM, Tumaini Kilimba tkilimba@ihi.or.tzwrote:

Correction: It will accept a 10 digit string that begins with a "1" eg
"1234567845" and it will be accepted but "2234567845" will throw the error
"Sorry this response is required!". Furthermore, any string longer than 10
digits throws the error "sorry this response is required!" regardless
whether it starts with a "1" or a "2".

The binding is like:


and in the body I have:

                   <input ref="manualParticipantId"

appearance="numbers">
Ingiza namba ya mshiriki
Namba hii ipo kwenye "wristband" ya mshiriki, au kwenye kadi ya
mwaliko.

I can send the entire form if need be?

Tumaini

On Tuesday, June 26, 2012 10:10:39 AM UTC+3, Tumaini Kilimba wrote:

Dear all,
I have a widget that accepts strings as numbers and it is a required
field. In a Galaxy Tab device running 2.2, I can input the string "
2345678902" and it will accept and move to the next page. Inputting
the same string "2345678902" on the same form but on a Galaxy Tab
Plus 3.2 gives me the default error message "Sorry this response is
required!" as if the field has not been filled out. substituting the
initial "2" for a "1" so that the string reads "1345678902" and the form
accepts this and moves on. Also if the string is less than 10 digits,
eg "234567890", the form accepts it even though I have no restrictions on
my binding in regards to string length. I iterate that it works fine on the
galaxy 2.2, only problematic on the galaxy 3.2.

Thanks in advance,
Tumaini

--
Post: opendatakit@googlegroups.com
Unsubscribe: opendatakit+unsubscribe@googlegroups.com
Options: http://groups.google.com/group/opendatakit?hl=en

--
Mitch Sundt
Software Engineer
University of Washington
mitchellsundt@gmail.com

--
Post: opendatakit@googlegroups.com
Unsubscribe: opendatakit+unsubscribe@googlegroups.com
Options: http://groups.google.com/group/opendatakit?hl=en

--
Post: opendatakit@googlegroups.com
Unsubscribe: opendatakit+unsubscribe@googlegroups.com
Options: http://groups.google.com/group/opendatakit?hl=en

--
Mitch Sundt
Software Engineer
University of Washington
mitchellsundt@gmail.com