using System.Collections.Generic;
namespace AI.Models.Form
{
///
/// 表单字段定义(通用 schema,仅定义不含当前值)
/// 类型与常用属性对应:number(min,max,step,default), string(maxLength,placeholder,default),
/// boolean(default), select(options[],default), multi-select(options[],default[])。
///
public class FormField
{
/// 字段唯一标识,对应参数名
public string Id { get; set; } = string.Empty;
/// 显示名称
public string Label { get; set; } = string.Empty;
/// 可选描述/提示
public string? Description { get; set; }
/// 控件/值类型
public FormFieldType Type { get; set; }
/// 是否必填
public bool Required { get; set; }
/// 默认值(可选)
public object? DefaultValue { get; set; }
// ----- number -----
/// 数值最小值(Number)
public double? Min { get; set; }
/// 数值最大值(Number)
public double? Max { get; set; }
/// 步长(Number)
public double? Step { get; set; }
// ----- string / text -----
/// 最大长度(Text/MultiLine)
public int? MaxLength { get; set; }
/// 占位提示(Text/MultiLine)
public string? Placeholder { get; set; }
// ----- select / multi-select -----
/// 下拉/单选选项(Choice);多选选项(MultiSelect)
public List? Options { get; set; }
/// 多选默认值(MultiSelect)
public List? DefaultValues { get; set; }
}
}