Hello,
I've had the exact same requirement, and solved it using the LDAP Search plugin, modified to search for EmployeeNumber. The document was found here and thanks to arape02 for the suggestions.
In the validation handler for the emplyee number field, I added the following, please ignore the dutch texts as error messages :
var heijmansNr = prop.value;
heijmansNr_trimmed = parseInt(heijmansNr, 10)
var usersLdapFilter = "employeeNumber="+heijmansNr_trimmed;
var usersAttributes = "displayName,employeeNumber";
var usersBaseDN = "DC=heijmans,DC=local";
var resultMessage= "Dit Heijmansnummer komt al voor bij de volgende gebruikers:" + "\n";
var count = 0;
return api.server(['LDAPSearch', usersLdapFilter, usersAttributes, usersBaseDN]).then(
function(success)
{
// First of all, get your return object
var result = success.returnValue;
console.log(result);
// Iterate through every entry in the result
for (var dn in result)
{
console.log(dn);
resultMessage= resultMessage+ dn + "\n";
if(result.hasOwnProperty(dn))
++count;
}
if(count > 0)
{
api.prompt(resultMessage);
console.log(resultMessage);
return false;
}
else
{
console.log("Uniek Heijmansnummer");
return true;
}
}
,
function(error)
{
// Do some eventual error handling like a message display
api.prompt("Het Heijmansnummer kan niet gecontroleerd worden, neem contact op met ICT beheer" );
return false;
}
);