gpt4 book ai didi

python - 提交前验证 WTForm

转载 作者:行者123 更新时间:2023-12-03 16:05:23 27 4
gpt4 key购买 nike

是否可以在离开字段后但在提交之前验证 WTForm 字段?
例如,在输入用户名后,在用户单击提交之前,验证该字段以查看其是否可用并显示复选标记。

最佳答案

当字段更改时,执行检查并更改相邻节点中的文本。有些东西可以直接在浏览器中验证。要验证服务器上的数据,请使用 JavaScript 向检查数据并返回 JSON 响应的 View 发送请求。

@app.route('/username-exists', methods=['POST'])
def username_exists():
username = request.form['username']
exists = check_if_user_exists(username)
return jsonify(exists=exists)

<input id='username' name='username'>
<p id='username-status'></p>

var username_input = $('#username');
var username_status = $('#username-status');

$('#username').on('focusout', function () {
$.post(
"{{ url_for('username_exists') }}",
{
username: username_input.val()
},
function (data) {
username_status.text(data.exists ? '✔️' : '🙅');
}
);
});

此示例使用 jQuery,但该概念并非特定于任何库。

或者,将整个表单发布到仅验证字段的单独 View ,然后 return jsonify(form.errors)并在浏览器中对它们做一些事情。代码与上面基本相同,但有一些额外的逻辑将错误消息放在正确的字段旁边。

记住在提交表单时仍然验证数据,因为请求可以在浏览器之外与其他

关于python - 提交前验证 WTForm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39109933/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com