in FixAntenna/NetCore/Validation/Validators/FieldsDefinitionsTypeValidator.cs [215:281]
private bool IsCorrectValue(TagValue tagValue, Fielddef fielddef)
{
//fixed bug 14817: Message which Contains tag with only spaces was not rejected
IList<Item> items = fielddef.Item;
var range = fielddef.Range;
var valblock = fielddef.Valblock;
var stringValue = tagValue.StringValue;
var multi = fielddef.Multi;
var isCorrect = false;
// check null of all rules
if ((items == null || items.Count == 0) && range == null && valblock == null && multi == null)
{
isCorrect = true;
}
else
{
if (items != null && items.Count > 0)
{
// check items values
isCorrect = CheckItems(items, stringValue);
}
// compare multi values
if (!isCorrect && multi != null && multi.Item.Count > 0)
{
isCorrect = CheckMulti(multi, stringValue);
}
// compare range
if (range != null && !isCorrect)
{
isCorrect = CheckRange(tagValue, range);
}
if (valblock != null)
{
// check valblock
var valblockdef = Util.GetValblockdef(valblock.GetIdref());
IList list = valblockdef.ItemOrRangeOrDescr;
foreach (var o in list)
{
if (o is Item)
{
var item = (Item)o;
if (item.Val.Equals(stringValue))
{
isCorrect = true;
break;
}
}
if (o is Range rng && !isCorrect)
{
isCorrect = CheckRange(tagValue, rng);
}
if (o is Multi valBlockMulti && !isCorrect)
{
// fixed 15091 : Correct value of MultipleCharValue considered as incorrect data type
isCorrect = CheckMulti(valBlockMulti, stringValue);
}
}
}
}
return isCorrect;
}