Getting error for using this.get("UsrAttributeName").displayValue in client module
I am trying to implement validation logic in client module edit page of a section.
I want to save the column value of UsrAttributeName (a lookup) into a variable.
To do this, I am using this.get("UsrAttributeName").displayValue. But when Page is loaded it hangs and console shows the error
message: Uncaught TypeError: Cannot read property 'displayValue' of undefined
Like
Hello!
1. To add validation use this.addColumnValidator method in setValidationConfig method.
Please, find the example in the Academy article: https://academy.creatio.com/documents/technic-sdk/7-16/how-add-field-va…
2. If the column value is not defined you cannot call for its properties. Check if the column has value:
var attribute = this.get("UsrAttributeName");
var attributeDisplayValue = attribute && attribute.displayValue;
Please, let us know in case any additional information is required.
Best regards,
Olga.
Olga Avis,
Hi
After debugging it turns out undefined is coming because Entity/Page is not fully loaded or when I create a new record then all fields are empty.
I could use your suggested way to assign attribute value to a variable but that would not be able to work if entity/page is not fully loaded.
So I used a flag in attributes with default value false and set it to true in OnEntityIntilized method.
Then I checked the flag, if it is true then the validation method will run.
Thanks
Ram