from wtforms import Form, StringField, PasswordField, validators, IntegerField, BooleanField class RegisterForm(Form): name = StringField('Фамилия', [ validators.Length(min=2, max=40, message='Имя должно быть от 2 до 40 символов')]) username = StringField('Имя пользователя', [ validators.Length(min=2, max=30, message='Имя пользователя должно быть от 2 до 30 символов')]) email = StringField('Email', [ validators.Length(min=2, max=35), validators.Email(message='Некорректный адрес электронной почты')]) password = PasswordField('Пароль', [ validators.DataRequired(), validators.Length(min=4, max=20), validators.EqualTo('confirm', message='Пароли не совпадают')]) confirm = PasswordField('Подтверждение пароля') class UpdateUser(Form): name = StringField('Фамилия', [validators.Length(min=1, max=255)]) user_information = StringField('Дополнительная информация', [validators.Length(min=1, max=3000)]) class UpdateVmInfo(Form): information = StringField('Дополнительная информация', [validators.Length(min=0, max=1000)]) class UpdateUserPass(Form): new_password = PasswordField('Новый пароль', [validators.Length(min=4, max=255)]) confirm_password = PasswordField('Подтвердите новый пароль', [validators.EqualTo('new_password', message='Passwords must match')]) class FormVirtualMachine(Form): hyper = StringField('Адрес гипервизора', [validators.Length(min=1, max=50)]) ip_addres = StringField('Адрес виртуальной машины', [validators.Length(min=1, max=50)]) id_vm = IntegerField('ID виртуальной машины', [validators.NumberRange(min=1, max=100)]) name = StringField('Имя виртуальной машины', [validators.Length(min=1, max=100)]) appointment = StringField('Назначение виртуальной машины', [validators.Length(min=1, max=100)]) os = StringField('Операционная система виртуальной машины', [validators.Length(min=1, max=100)]) memory = IntegerField('ОЗУ виртуальной машины', [validators.NumberRange(min=1, max=10000)]) cpu = IntegerField('ЦПУ виртуальной машины', [validators.NumberRange(min=1, max=100)]) technical = BooleanField()