def isValidSiteID(field_data, all_data): """ validate site id in the form xxx-yyy-zzz where xxx is a 3 character identifier (eg: AKL) yyy is a 3 digit identifier (eg: 001) zzz is a 3 digit identifier (eg: 001) """ temp = field_data sid = temp.split('-') if len(sid)!=3: raise validators.ValidationError("Site ID is \ not valid") if len(sid[0])!=3: raise validators.ValidationError("Site ID is \ not valid") if len(sid[1])!=3: raise validators.ValidationError("Site ID is \ not valid") if len(sid[2])!=3: raise validators.ValidationError("Site ID is \ not valid") if not(sid[0].isalpha() and sid[0].isupper()): raise validators.ValidationError("Site ID is \ not valid") if not(sid[1].isdigit()): raise validators.ValidationError("Site ID is \ not valid") if not(sid[2].isdigit()): raise validators.ValidationError("Site ID is \ not valid")