Home › Forums › Classic DFFS › People Picker Column doesn't recognize it has been supplied with value
Tagged: people picker error
- This topic has 24 replies, 3 voices, and was last updated 7 years, 9 months ago by Alexander Bautz.
-
AuthorPosts
-
-
November 4, 2016 at 20:54 #13976
I have a people picker column that is made required by a rule in the edit form. However, “You must specify a value for this required field.” displays on save as if no value has been provided even when a name resolved through the people picker has been selected. Any ideas?
-
November 4, 2016 at 21:06 #13978
All the other columns in this section that are made required by the same rule are behaving fine.
Attachments:
-
November 4, 2016 at 21:11 #13981
Here is the rule I am using to make these columns required.
Attachments:
-
November 5, 2016 at 23:56 #13984
Hi,
Which version of DFFS and SPJS-Utility are you using? – hover over the “Enhanced with DFFS” and click the “License and version information”.Alexander
-
November 7, 2016 at 14:52 #13998
Dynamic Forms for SharePoint DFFS Backend v4.4.1.2|CSS version: 4.16 / 4.16|spjs-utility version: 1.267
-
-
November 7, 2016 at 17:28 #14000
I’m seeing the same error, but on multiline text fields (rich text), I haven’t yet tried on a people picker.
The fields are populated, but on save they all show in red text “You must specify a value for this required field”.
Oddly – this only occurs on a laptop with a different build to my desktop machine (both IE 11, but slightly different versions). I’m also getting frequent popups stating “An add-on for this website failed to run” – as yet I can’t determine what isn’t running.DFFS Frontend 4.4.1
DFFS Frontend CSS 4.19/4.19
Autocomplete 1.4.7
Cascading Dropdowns 3.528
jQuery 1.12.4
Lookup 1.1.5
Resource Management not loaded
SPJS-Utility 1.267
vLookup frontend v2.2.76Anything to look for to track down the problem?
Adam
-
November 8, 2016 at 19:56 #14021
Hi Bryan,
I need to see the version information from your frontend – hover over the “Enhanced with DFFS” below your form.Are you encountering this error when setting the people picker value manually, or do you have some custom code that sets it on save?
Could you try adding this code to the console (hit F12 > Console) when you see the error message:
var test = getFieldValue("NAME OF YOUR FIELD"); console.log(test); console.log(typeof test);
Post the output here.
Adam
try the same console code and post the output.Alexander
-
November 8, 2016 at 21:55 #14027
On the problematic machine I get an empty value for console.log(test); both when the form loads and the fields are empty, and after trying to save with values in the fields. Other fields correctly return the value entered in the field (and typeof=string)
undefined string
On the machine without the issue, doing the same test on the empty form returns;
undefined <DIV></DIV> string
(Also the same if I leave the field empty and try to save).
Is there anything else that would be useful to look at?
-
November 9, 2016 at 20:22 #14046
Which browser version are you using on the machine with the problem? – do you see the multiline field correctly in this browser (same layout as on the machine that works)?
Do other multiline fields work as expected or are all multiline fields failing?
Alexander
-
November 10, 2016 at 03:41 #14085
Hi Alexander
Problematic- IE version: 11.306.10586.0 Update versions: 11.0.31
Normal- IE version: 11.0.9600.18500CO Update versions: 11.0.36All multiline text fields where “required” has been set by a DFFS rule seem to be failing (here and on other forms)
The fields themselves look completely normal. I did a text difference comparison on the page source html – completely identical except for a value for id=”__REQUESTDIGEST” which would appear to be some sort of internal form validation.
Adam
-
-
November 9, 2016 at 15:00 #14039
Is there another place to confirm frontend version? My hover over reveal a generic ‘License and version information’ message (image attached)
There is no custom code providing the value.
It is manually entered people picker'Response_x0020_Submitted_x0020_b' is undefined
Attachments:
-
November 10, 2016 at 00:04 #14076
See attached image.
Alexander
Attachments:
-
November 10, 2016 at 14:12 #14093
My apologies and thank you for your patience:
Version information
DFFS frontend: 4.4.1
DFFS frontend CSS: 4.19 / 4.19
Autocomplete: 1.4.7
Cascading dropdowns: 3.528
jQuery: 1.7.2
Lookup: 1.1.5
Resource management: not loaded
SPJS-Utility: 1.267
vLookup: frontend v2.2.76 -
November 10, 2016 at 19:26 #14099
Browser: IE 11
Version 11.0.9600.18376
Update Version: 11.0.33
-
November 10, 2016 at 21:45 #14106
Thanks for the version info. You have the latest version so this shouldn’t be a problem. Could you check to see if you have “compatibility mode” activated on one of the computers?
You can also press F12 to bring up the developer tools and look at the “Emulation” tab to see what document mode and user agent string the browser are running.
Let me know if you have more details on how I can recreate the issue.
Best regards,
Alexander -
November 14, 2016 at 15:03 #14135
For me, both are running in compatibility view…
…”/Lists/Challenges/NewForm.aspx?RootFolder= is running in Compatibility View because ‘Display intranet sites in Compatibility View’ is checked.” Document mode for both is 8 (default) “via X-UA-compatible meta tag” (it’s a SP2010 site), and user agent is “default” for the functional version, and “Internet Explorer 11 (Default) for the non functional one.I’m starting to think it’s related to the specific build of the laptop and IE version in use. Things seem to get worse with Developer Tools open – the “Add-on failed to run” pop up and lots of errors if I run network analysis – 500 on lists.asmx, and various 401’s, 404’s and 407’s, and important things like jquery “pending”.
-
November 15, 2016 at 23:01 #14165
It’s hard to tell what this could be. I don’t have the same version of IE to test with and unfortunately I don’t see what this issue could be caused by.
I guess you don’t have the rights to turn off the compatibility mode for intranet sites?
You can try opening the developer tools and select “emulation” to try forcing it into a more modern document mode to see if this makes any difference?
To test the rich text field, try writing this in the developer tools console:
spjs.utility.getFieldValue({"fin":"PUT_YOUR_FIELD_NAME_HERE"}).replace(/<[^>]*>|\s| |xA0;|\u200b/g,'');
What does the output look like?
To test the people picker field, try writing this in the developer tools console:
spjs.utility.getFieldValue({"fin":"PUT_YOUR_FIELD_NAME_HERE","delimiter":",","key":"loginName"});
What does the output look like?
Alexander
-
November 16, 2016 at 03:22 #14169
Thanks Alexander
Much weirdness going on here, but I think we’re making some progress.
I do have access to change compatibility view settings, but others here won’t, and it looks like changes there don’t have much, if any, effect.
I have had some success with playing tunes on the emulation tab though. While doing that I’ve realised that the Rich Text Editor control only seems to display correctly in the default modes (doc mode 8, user agent IE11) – and anything entered into the rich text editor just isn’t recognised at all. The result of
spjs.utility.getFieldValue({"fin":"Consultee"}).replace(/<[^>]*>|\s| |xA0;|\u200b/g,'');
is simply
""
If I change the emulation mode to anything other than the default, the Rich Text Field is rendered as a simple text box (text within is then recognised and the form can be saved – everything normal, except for the fact that it’s not a rich text field anymore).
See attached screenshots.I’ll try some more tests on the build that functions correctly tomorrow to compare with the tests above, but I’ve got a feeling that something just isn’t quite right with this laptop build, unless you can think of a reason that the content of the RTE control would be completely inaccessible?
I did find these two posts by Marc Anderson
http://sympmarc.com/2011/02/10/finding-the-contents-of-a-sharepoint-rich-text-column-with-jquery/
http://sympmarc.com/2011/02/14/finding-the-contents-of-a-sharepoint-rich-text-column-with-jquery-and-changing-it/
Using `$(“textarea[Title=’Who have you consulted prior to this challenge’]”).closest(“span”).find(“iframe[Title=’Rich Text Editor’]”).blur(function(){
alert($(this).contents().find(“body”).html());
});` I’m able to alert the html contained within the RTE field – see third screenshotThat code is quite similar to getFieldValue_SPFieldNote_HTML in spjs-utility.
"getFieldValue_SPFieldNote_HTML":function(a){ var f = spjs.$(spjs.utility.data.fields[a.fin]), v = ""; if(browseris.ie5up && browseris.win32 && !IsAccessibilityFeatureEnabled()){ if(f.find("iframe[class^='ms-rtelong']").contents().find('body').html() !== ""){ v = f.find("iframe[class^='ms-rtelong']").contents().find('body').html(); }else{ v = f.find('textarea:first').val(); } }else{ v = f.find('textarea:first').val(); } return v; },
browseris.win32 caught my attention – Will getFieldValue fail to target the correct values if I’m running in 64bit IE11? browseris.win32 in the console returns “false”… browseris.win64bit = “true” !
I’ll try to get into IE 32bit mode somehow and report back.
Adam
Attachments:
-
November 16, 2016 at 20:10 #14194
Hi,
Using the 64 bit browser might very well be the reason – I didn’t think of this scenario.You should have the 32 bit version of the browser on this laptop as well – does this one work?
Alexander
-
January 31, 2017 at 19:41 #15391
Just following up on this after a long delay…I couldn’t get IE to run in 32 bit mode…
-
February 5, 2017 at 09:53 #15471
In a setup where you have a 64 bit IE version, you should find the 32 bit version as a separate “app” in your start menu.
Alexander
-
February 6, 2017 at 11:05 #15481
If it’s there I’m afraid I can’t locate it. I’ve even tried running iexplore.exe direct from c:\program files (x86) too, but no success, it still runs as the 64 bit version. Definitely no 32 bit app. It’s a corporate build of Windows 10 Enterprise, so possible something has been changed or locked down.
I’m not sure what else I can try. -
February 8, 2017 at 12:59 #15508
Could you bring up the developer console (F12 > Console) and paste in this:
SPClientPeoplePicker.SPClientPeoplePickerDict
What is the output?
Alexander
-
-
AuthorPosts
- You must be logged in to reply to this topic.