This is my first Post and I hope it will help you all.
You can use Trigger to avoid duplicate value.In the below example I am avoiding duplicate value for job name in the system.
trigger AvoidDuplicateJobName on Job__c(before insert, before update)
{
Set<String> setJobName = new Set<String>();
for (Job__c job : [SELECT Name FROM Job__c WHERE Id Not IN: Trigger.new])
{
setJobName.add(job.Name);
}
for (Job__c job : System.Trigger.new)
{
if (setJobName.contains(job.Name))
{
job.Name.addError('Another new Job has the '+ 'same Name.');
}
else if(!setJobName.contains(job.Name))
{
setJobName.add(job.Name);
}
}
}