first commit
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
from flask_wtf import FlaskForm
|
||||
from wtforms import IntegerField, PasswordField, SelectField, StringField, SubmitField
|
||||
from wtforms.validators import DataRequired, NumberRange, Optional, ValidationError
|
||||
|
||||
|
||||
class LoginForm(FlaskForm):
|
||||
username = StringField("用户名", validators=[DataRequired(message="请输入用户名")])
|
||||
password = PasswordField("密码", validators=[DataRequired(message="请输入密码")])
|
||||
submit = SubmitField("登录")
|
||||
|
||||
|
||||
class GroupForm(FlaskForm):
|
||||
name = StringField("分组名称", validators=[DataRequired(message="请输入分组名称")])
|
||||
sort_order = IntegerField(
|
||||
"排序(越小越靠前)",
|
||||
validators=[Optional(), NumberRange(min=-10**6, max=10**6)],
|
||||
default=0,
|
||||
)
|
||||
submit = SubmitField("保存")
|
||||
|
||||
|
||||
class ServiceForm(FlaskForm):
|
||||
name = StringField("服务名称", validators=[DataRequired(message="请输入服务名称")])
|
||||
host = StringField("内网 IP 或主机名", validators=[DataRequired(message="请输入主机")])
|
||||
port = IntegerField(
|
||||
"端口",
|
||||
validators=[
|
||||
DataRequired(message="请输入端口"),
|
||||
NumberRange(min=1, max=65535, message="端口范围 1–65535"),
|
||||
],
|
||||
)
|
||||
path = StringField("路径(可选,默认 /)", validators=[Optional()])
|
||||
group_id = SelectField("分组", coerce=int, validators=[DataRequired(message="请选择分组")])
|
||||
sort_order = IntegerField(
|
||||
"排序(越小越靠前)",
|
||||
validators=[Optional(), NumberRange(min=-10**6, max=10**6)],
|
||||
default=0,
|
||||
)
|
||||
submit = SubmitField("保存")
|
||||
|
||||
def validate_path(self, field):
|
||||
v = (field.data or "").strip()
|
||||
if v and not v.startswith("/"):
|
||||
raise ValidationError("路径需以 / 开头,例如 /admin")
|
||||
Reference in New Issue
Block a user