Skip to main content

I'm having validations problems when users are submitting a form from iOS "Nintex mobile app".

The validation is working fine on desktop and from android (Nintex mobile app). But when the same form, same validation is tried from iPhone it doesn't pass it when all conditions meet (meaning that the user had entered all what is required to complete the form).

The validation is mainly, in a repeating section to check if a date, description and value is inserted in each line item in the repeating section, if there is no values then it shows the red as a value is required. the validations are in the rules of the fields, so mainly it says if a checkbox on the form is true, and each of the fields in the line items (in the repeating section) are blank, then you need to insert a value, once value are inserted then go..

Android is doing it with no issues, desktop too. iPhone keeps reasking for the values although data has been inserted.

any idea how iOS renders these and how can I go about fixing it?!

have a look on this whether it helps  


Thanks ‌, The form does have some rules that are using operators rather than functions like == instead of equals(). I will try to change them and update the post if that fixed it.


So here is what I found. Some validations rules were fixed such as comparing boolean values and number values. But the one that didn't work was comparing a date of a field to be greater than the current system date which was checking if the date is not in the future. The current date is one of the common fields (not the named fields). Android was passing it, but not iPhone. So to solve it, I had to de-link that field by removing it from the mobile version, and readding it from the list fields which removed the link between the desktop and mobile. Then I kept that one validation on dektop, but removed it from the mobile. That's the best I could do. 

anyone knows why would the following function is unable to pass on iOS?

greaterThan({self}, current date) 

where {self} is a date field. The propose of the rule is to check if the date inserted on the current field is greater than the current date, if yes, then throw an error to say that the date cannot be in the future.


greaterThen() compares strings not dates!

read carefully its description in documentation.

if date (objects) are supplied to the function it compares whether two date objects passed in is the same javascript  object, not whether they represent the same date value.

it neither can work on desktop!

read this discussion on how it could be fooled - Condition on Date Values Returns False instead of True 


Reply