使用 WTForms 进行表单验证的例子

#使用 WTForms 进行表单验证的例子

from wtforms import Form
from wtforms import BooleanField
from wtforms import TextField
from wtforms import PasswordField
from wtforms import validators

#注册表单
class RegisterForm(Form):
    username = TextField("Username",[validators.length(min=4, max=25)])
    email = TextField("Email Address", [validators.length(min=6, max=25)])
    password = PasswordField("New Password", [validators.Required(), validators.EqualTo("confirm", message="Passwords must match")])
    confirm = PasswordField("Repeat Password")
    accept_tos = BooleanField("I accept the TOS", [validators.Required()])


#视图函数
@app.route("/register", methods=["GET", "POST"])
def register():
    form = RegisterForm(request.form)
    if request.method == "POST" and form.validate():
        user = User(form.username.data, form.email.data, form.password.data)
        db_session.add(user)
        flash("Thanks for registering")
        return redirect(url_for("login"))
    return rendertemplate("regiser.html", form=form)
#备忘表
# 1、如果数据是以POST方式提交的,那么基于请求的form属性的值创建表单,反过来,如果是以get提交的,就从args属性创建
# 2、验证表单数据,调用validate()方法,如果数据验证通过,此方法将会返回True,否则返回False
# 3、访问表单的单个值,使用form.<NAME>.data


#模版中的表单

{% macro render_field(field) %}
  <dt>{{ field.label }}
  <dd>{{ field(**kwargs)|safe }}
  {% if field.errors %}
    <ul class=errors>
    {% for error in field.errors %}
      <li>{{ error }}</li>
    {% endfor %}
    </ul>
  {% endif %}
  </dd>
{% endmacro %}

 

转载于:https://www.cnblogs.com/themost/p/8552590.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为了使用Jquery进行表单验证,您需要在HTML页面中引入Jquery库。然后,您可以使用Jquery选择器来选择要验证的表单元素,并使用Jquery验证插件对这些元素进行验证。您可以根据需要使用各种验证规则,例如必填字段,电子邮件格式和密码长度。还可以自定义错误消息,并根据验证结果采取适当的操作,例如禁用提交按钮或显示错误消息。以下是示例代码: ```html <!-- 引入Jquery库 --> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <!-- 表单元素 --> <form> <label for="name">姓名:</label> <input type="text" id="name" name="name"> <label for="email">电子邮件:</label> <input type="email" id="email" name="email"> <label for="password">密码:</label> <input type="password" id="password" name="password"> <button type="submit">提交</button> </form> <!-- Jquery验证插件 --> <script src="https://cdn.jsdelivr.net/jquery.validation/1.16.0/jquery.validate.min.js"></script> <!-- 验证规则和错误消息 --> <script> $(document).ready(function(){ $("form").validate({ rules: { name: "required", email: { required: true, email: true }, password: { required: true, minlength: 6 } }, messages: { name: "请输入您的姓名", email: "请输入有效的电子邮件地址", password: { required: "请输入密码", minlength: "密码长度不能少于6个字符" } }, submitHandler: function(form) { // 验证通过,提交表单 form.submit(); } }); }); </script> ``` 上述代码使用Jquery验证插件对文本框,电子邮件和密码框进行验证。验证规则包括必填字段,电子邮件格式和密码长度等。如果表单验证不通过,则将显示相应的错误消息。如果验证通过,则可以提交表单。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值