You are viewing limited content. For full access, please sign in.

Discussion

Discussion

Checkbox Field : "All values must start with a letter"

posted on September 1, 2020

Hello,

Could someone kindly please explain to me why the checkbox field requires that all values must start with a letter and the radio button module does not? Also, was this requirement in versions prior to 10.4.4?

Thanks!

Wesley Funderberg

Screenshot_2020-09-01 Layout Laserfiche Forms.png
0 0
replied on September 1, 2020

This requirement exists in all version of Forms, the reason is due to the implementation method for passing the values of checkbox. The value is stored in XML with following format with the choice values used as XML element name and the name must meet the requirements from https://www.w3schools.com/xml/xml_elements.asp

 

0 0
replied on September 2, 2020

Thank you Xiuhong however could you please answer as to why the radio button field does not?

 

 

0 0
replied on September 2, 2020

Checkbox may have multiple choices selected and there need a way to separate these choices.  With separate XML element for the choices, it is easier to use the checkbox in the conditional expression for gateway with XPath such as "/dataset/Checkbox/choice_1="checked" and /dataset/Checkbox/choice_2="checked" ", radio button only has one choice selected, the XPath will be "/dataset/Radio_Button="choice 1"".

Forms behaves like this since its first release.

0 0
replied on September 3, 2020

It appears that this behavior was introduced around 9.1.x:

https://answers.laserfiche.com/questions/56913/Forms-checkbox-values-now-use-underscores-for-spaces-Can-we-prevent-this-somehow

Also the YouTube video link below shows that this wasn't always the case with checkboxes and the "All values must start with a letter":

https://youtu.be/rhKHLAVX-90?t=1464

 

I guess my concern is that if this was suddenly made a requirement then why wasn't this pushed throughout the entire Laserfiche system? For example, I can create a List field in Laserfiche and populate it with numbers, special characters, spaces, etc., and all is good. The problem is that if I wish to use Forms  (checkboxes) to populate that same List field in Laserfiche (with special characters or even spaces) by using it's template on submission it will fail because of the way the checkbox in Laserfiche Forms was coded.

0 0
replied on September 3, 2020

List field in repository can only have one value selected, you'd better to use value of drop-down or radio button from Forms to populate it. Also there will be no problem if you use checkbox from Forms to populate a List field in repository as the values from checkbox is also valid for the List field. Following variable will get the all the selected choices' values from the checkbox.

0 0
replied on September 23, 2020 Show version history

Let me rephrase my repository list field question to state that I can have a list field in a template with multiple checked along with special characters as values. This will give me the ability to have multiple values (array) for this field.

"Also there will be no problem if you use checkbox from Forms to populate a List field in repository as the values from checkbox is also valid for the List field".

That is incorrect as a Forms checkbox field will fill the multiple List field in the repository with one comma separated value (value1,value2,value3) AND only if the values match what is in the List field repository. Again, I can have special characters in the list field repository as values, "Red & Blue" but I cannot have special characters in the Forms checkbox for values "Red_Blue". See the difference? The Forms checkbox value WILL NOT match what is in the List field repository value.

Was there a reason as to why the Forms checkbox couldn't have been coded like:

<Checkbox fieldType=“checkbox” s_id=“0000” type=“list” m_id=“0000” m_path=“0000” a_id=“0000”>
<other checked="false"></other>
<option_1 checked="true">I am a true checkbox value</_option_1>
<option_2 checked="false">Divide &amp; Concore</option_2>
<option_3 checked="true">800-293-7885</option_3>
<option_4 checked="false">192.168.1.2 IP ADDRESS</option_4>
</Checkbox>

 

0 0
You are not allowed to follow up in this post.

Sign in to reply to this post.