[docs]@classmethoddefvalidate(cls,data,_type):reasons=[]ifdata=='':reasons.append('empty value')elifnotdata:reasons.append('missing value')else:data=idna_encode(data)ifnotFQDN(str(data),allow_underscores=True).is_valid:reasons.append(f'{_type} value "{data}" is not a valid FQDN')elifnotdata.endswith('.'):reasons.append(f'{_type} value "{data}" missing trailing .')returnreasons
[docs]@classmethoddefvalidate(cls,data,_type):ifnotdataorall(notdfordindata):return['missing value(s)']reasons=[]forvalueindata:value=idna_encode(value)ifnotFQDN(value,allow_underscores=True).is_valid:reasons.append(f'Invalid {_type} value "{value}" is not a valid FQDN.')elifnotvalue.endswith('.'):reasons.append(f'{_type} value "{value}" missing trailing .')returnreasons