package cn.skcks.matrix.v2.model.auth.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.Email;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Pattern;
import lombok.Data;

@Schema(title = "用户注册")
@Data
public class UserRegisterDto {
    @Schema(title = "用户名")
    @NotBlank(message = "用户名不能为空")
    private String userName;

    @Schema(title = "密码")
    @NotBlank(message = "密码不能为空")
    // @Pattern(
    //         regexp = "^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[^\\w\\s]).{8,}$",
    //         message = "密码必须大于8位 且至少有 一个大写字母 一个小写字符 一个特殊符号")
    // @Pattern(
    //         regexp = "^(?=.*?[A-z])(?=.*?[0-9])(?=.*?[^\\w\\s]).{8,}$",
    //         message = "密码必须大于8位 且至少有 一个字母 一个特殊符号")
    @Pattern(
            regexp = "^(?=.*?[A-z])(?=.*?[0-9]).{6,}$",
            message = "密码必须大于6位 且至少有 一个字母")
    private String password;

    @Schema(title = "邮箱")
    @Email(message = "邮箱格式错误")
    @NotBlank(message = "邮箱不能为空")
    private String email;

    @Schema(title = "手机号码")
    private String phoneNumber;
}
