Support Article

Validation error for date or dropdown fails in screenflow

SA-26488

Summary



While validating dropdowns or date fields in a screenflow, if there are error messages on these controls, Out-of-the-box (OOTB) pyStatus property (present in OOTB pyFlowData.pySteps page) is not updated to the value “error”. It is set to a value “success” or “current”.
However, if there are other controls, such as text area or text input, and if there are error messages on these controls, OOTB pyStatus property (present in OOTB pyFlowData.pySteps page) is updated to the value “error”.
User's functionality is based on the value of pySatus field, and the discrepancy observed above is inhibiting them from developing their application.


Error Messages



Not Applicable


Steps to Reproduce



1. Create a screen flow with two or more screens. Make sure the "Allow Error" field is checked on the screenflow's start shape properties.
2. Configure a Text-Area, a Dropdown and a Date control on the first screen. Have server-side validations defined for each control.
3. Do not enter any values in any of the Text-Area, Date or Dropdown fields (so that validation fails on each field), and click Next button.

    

4. On clicking Next, you will traverse to the second screen. Now, launch Clipboard. Expand the pyFlowdata -> pySteps -> pySteps(1) page, and notice that pyStatus value is set to “error”. This happens because the Text-Area control encountered a validation error.

    

5. Repeat steps 2 to 4, just that enter some junk data in the Text area field (so that the validation for this field does not fail – validation for date and dropdown fields shall fail).

    

6. After clicking Next and traversing to the second screen, launch clipboard. Expand the pyFlowdata -> pySteps -> pySteps(1) page, and notice that pyStatus value is set to “success”. It should have ideally been set to "error" since Date or Dropdown fields encountered validation errors too.

    
    

Root Cause


 

This is a product bug.

  • In generateTextArea RUF, pzGetActiveValue RUF is called which in turn calls the function, researchPropertyReference of StreamBuilderTools.java(engine side). This function sets value of a variable mMatchedInputProperty to true. The variable is used in the functions that are getting called from matchStreamsToInputProperties of Executable.java and based on this variable value, the streams with error are returned. 
  • From GenerateDatePicker and GenerateDropdown RUF, pzGetActiveValue RUF is not getting called. So, the variable mMatchedInputProperty is not set to true and the stream with error is not returned in case of Date or Dropdown controls.

Resolution



Apply HFix-28819. 

Published August 5, 2016 - Updated August 23, 2016

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.