from flask_wtf import FlaskForm
from wtforms import StringField, TextAreaField, SelectField
from wtforms.validators import InputRequired, Email, Length, Optional, DataRequired
from wtforms import HiddenField

class AddUser(FlaskForm):
    id = HiddenField()
    
    nombre = StringField(
        "Nombre", validators=[InputRequired(message="Este campo es obligatorio"), Length(max=100, message="Máximo 100 caracteres")]
    )
    
    apellido = StringField(
        "Apellido", validators=[InputRequired(message="Este campo es obligatorio"), Length(max=100, message="Máximo 100 caracteres")]
    )

    genero = SelectField("Género", choices=[
        ("", ""),  
        ('M', 'Hombre'), 
        ('F', 'Mujer')
    ], validators=[DataRequired(message="Debes seleccionar el género.")],)
    
    email = StringField(
        "Email", validators=[InputRequired(message="Este campo es obligatorio"), Email(message="Ingresa un email válido"), Length(max=120)]
    )
    
    isAdmin = SelectField( "Permisos de Administrador", choices=[
        ("", ""),
        ("true", "Sí"),
        ("false", "No")
    ], validators=[DataRequired(message="Debes seleccionar el rol.")],)

    isContactNoti = SelectField( "Notificaciones de nuevos contactos", choices=[
        ("", ""),
        ("true", "Sí"),
        ("false", "No")
    ], validators=[DataRequired(message="Debes seleccionar una respuesta.")],)
