package com.lingyue.extract.dto.config;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

/**
 * 手动输入来源配置
 * 
 * 用于 sourceType = "manual" 的规则
 * 需要用户手动填写内容
 * 
 * @author lingyue
 * @since 2026-01-22
 */
@Data
@Schema(description = "手动输入来源配置")
public class ManualSourceConfig {
    
    @Schema(description = "输入提示")
    private String placeholder;
    
    @Schema(description = "默认值")
    private String defaultValue;
    
    @Schema(description = "是否必填")
    private Boolean required;
    
    @Schema(description = "验证规则（正则表达式）")
    private String validationPattern;
    
    @Schema(description = "验证错误提示")
    private String validationMessage;
    
    @Schema(description = "输入类型: text-单行文本, textarea-多行文本, date-日期, number-数字")
    private String inputType;
    
    // ==================== 输入类型常量 ====================
    
    public static final String INPUT_TYPE_TEXT = "text";
    public static final String INPUT_TYPE_TEXTAREA = "textarea";
    public static final String INPUT_TYPE_DATE = "date";
    public static final String INPUT_TYPE_NUMBER = "number";
}
