Django使用他的forms API进行输入验证 . 表单将发送到模板,并呈现为html(as_p and friends) .
当用户准备就绪时,他会对表单进行验证,如果表单无效,则表单将在模板上重新呈现 .
当形式无效只是因为字段上没有足够的caracteres(即min_length)或无效字符时,这很奇怪:一个POST太多只是为了告诉用户它缺少一些非常基本的东西 .
那么,是否有任何可用的方式(Django或应用程序)使用javascript代码呈现表单"tests" [*]客户端的某些形式'字段?即有一个表单 as_javascript(...)
,动态显示将由form.errors显示的错误消息?
这不适用于所有字段,因为有些字段需要数据库命中,但它应该适用于简单(和最常见)字段,即CharField,TextField等 .
[*]“测试”因为总是要在服务器端进行验证 .
1 回答
因此,您希望在提交之前验证JS中的某些内容 . 这是一种方法 . 而不是在表单中输入类型提交,你应该放一个按钮类型按钮:
请注意,除非您将类型指定为“按钮”,否则它仍会尝试提交 .
然后在JS文件中你写这样的东西(在你的HTML文件中包含jQuery):
示例testErrors():
因此,在testErrors中,您可以为每个字段定义自己的测试 . 在这个例子中有两个,国家和城市 . 对于国家/地区,代码测试它是否为空白,对于城市是否长于10个字符 . 您可以定义自己的进一步测试 . 请参阅jQuery文档以及如何从不同类型的表单字段中检索值 .