Survey123 input mask

8746
8
Jump to solution
04-30-2019 07:38 AM
ReneAubut
Regular Contributor

I have a decimal question where possible values can go from n.nn to nn.nn. The input mask I set is 90.00 but then it won't allow values less than 10. Should i rather work this with a constraint like .>1 and .<100

0 Kudos
1 Solution

Accepted Solutions
Egge-Jan_Pollé
MVP Alum

Aha, apparently this is a known issue. On exactly the same page I mentioned above (Esri custom columns—Survey123 for ArcGIS | ArcGIS ) there is a little note:

Full support for input masks is still in progress. You may observe issues when using delimiters or after entering a value.

So, there is the answer to your question... 😞

Good to see you found an alternative solution. You might mark your question as being answered.

View solution in original post

8 Replies
Egge-Jan_Pollé
MVP Alum

Hi Rene Aubut‌,

Please have a look at this page: Esri custom columns—Survey123 for ArcGIS | ArcGIS, and scroll down to the section Input mask.

It looks like your input mask should be set to 00.00 (instead of 90.00) or maybe even 09.99, because

9

ASCII digit required. 0 through 9.

0

ASCII digit permitted but not required.

HTH,

Egge-Jan

0 Kudos
ReneAubut
Regular Contributor

Thanks Egge-Jan

don't know if its a bug but the same happens. The fact there is a "." after two not required digits makes it impossible to input a value less than 10

0 Kudos
Egge-Jan_Pollé
MVP Alum

How come? The input mask 09.99 should allow values like 2.37, 8.19 and 1.07. But you say it doesn't? What error message do you get?

0 Kudos
ReneAubut
Regular Contributor

there are no error message, but having a decimal point at the second position in "09.99" or "00.00" makes survey123 expect 2 digits before the decimal point. If i enter just one digit before the decimal point, it will show as 1 .23. written in red meaning invalid input. Maybe its a bug but i remove the input mask and used this constraint: .>1 and .<99.99, so now its working fine but still wondering why the input mask did not work as indicated in the references

0 Kudos
Egge-Jan_Pollé
MVP Alum

Aha, apparently this is a known issue. On exactly the same page I mentioned above (Esri custom columns—Survey123 for ArcGIS | ArcGIS ) there is a little note:

Full support for input masks is still in progress. You may observe issues when using delimiters or after entering a value.

So, there is the answer to your question... 😞

Good to see you found an alternative solution. You might mark your question as being answered.

RUMCARRENO
New Contributor

I used to work with this regex as a constraint.

regex(., '^[0-9]+(\.[0-9]{1,2})?$')

But i like most your expression. Thank you!

0 Kudos
JorgeRecinosV
Emerging Contributor

Hi @ReneAubut a couple of years later but I had the same problem and the answer is that when it is decimal type, even if you put a mask of ASCII format "not required", you will have to put the decimals that you have defined even if it is "not required". This is solved by selecting text type and for your field to be recognized as numeric type you must choose in the column: bind::esri:fieldType the double type. With that you solve the problem.

Greetings!

 

Hola @ReneAubut un par de años más tarde pero he tenido el mismo problema y la respuesta es que cuando es de tipo decimal, aunque pongas una mascara de formato ASCII "no requerido", obligatoriamente tendrás que colocar los decimales que hayas definido aunque sea "no requerido". Esto se soluciona seleccionando tipo texto y para que tu campo se reconozca tipo numérico deberás elegir en la columna: bind::esri:fieldType el tipo doble. Con eso solucionas el problema.

Saludos!

0 Kudos
JorgeRecinosV
Emerging Contributor

This applies regardless of whether you have placed the ASCII format "not required" before or after the decimal point and you have selected decimal type, you will always have to fill in the digits you have defined, before and after the decimal point.

 

Esto aplica independientemente si has colocado el formato ASCII "no requerido", antes o después del punto decimal y tienes seleccionado tipo decimal, siempre tendrás que llenar los dígitos que hayas definido, antes y después del punto decimal.

0 Kudos