我习惯于在我的Flask应用程序中使用Flask-WTF来使用WTForms。进行服务器端验证很简单。但是,如何利用此服务器验证成为字段级别的、ajax、客户端验证呢?因此,当用户切换到另一个输入字段时,我的应用程序可以直接进行验证并提供验证警告/信息/错误。
我还没有在互联网上找到相关资源。
我习惯于在我的Flask应用程序中使用Flask-WTF来使用WTForms。进行服务器端验证很简单。但是,如何利用此服务器验证成为字段级别的、ajax、客户端验证呢?因此,当用户切换到另一个输入字段时,我的应用程序可以直接进行验证并提供验证警告/信息/错误。
我还没有在互联网上找到相关资源。
一个可能的解决方案如下:
在客户端,您可以为表单中的所有控件附加一个blur
事件处理程序。
每次模糊事件发生时,您都会运行一个JavaScript函数,该函数收集所有字段的值,然后将它们作为ajax POST请求提交。
在服务器上,处理此ajax POST请求的视图函数实例化Flask-WTF表单,然后验证它。 验证引起的任何错误都被收集到一个字典中,然后作为JSON响应发送回客户端。
例如,成功的验证可以返回以下JSON:
{
"errors": {}
}
包含错误的响应可能如下:
{
"errors": {
"name": "This field is required",
"age": "Enter a numeric value between 0 and 99"
}
}
客户端获取此JSON响应并将所需更改应用于DOM以公开错误。
如果您在前一个模糊事件返回之前收到新的模糊事件,则可能希望中止挂起的ajax POST并使用更新的字段值启动新的POST请求。为避免竞争条件,您每次应仅有一项挂起的验证请求。
一个很好的问题。这是我们做的事情(flask后端,jquery前端):