function validateCandidate()

in src/types/MEnumType.ts [9:24]


function validateCandidate(a: Assembly, schema: MFieldSchemaAnonymity, value: any, path: string): MValidationResult {
  let fs = MUtil.option(schema);
  console.log('validateCandidate', value)
  for (let f of fs) {
    // @ts-ignore
    if (MUtil.isEquals(f.value, _.isObject(value) ? value?.value : value, schema.tolerate)) {
      return undefined;
    }
  }
  const openOption = _.clone(schema.openOption ?? schema.enumOpen)
  if (openOption) {
    openOption.required = true; // 既然勾上了开放选项,就必须填, TODO 把开放选项标注成必填,可以在schema预处理做
    return assembly.validate(openOption, value, "")
  }
  return { message: '请选择一个选项', path }
}