【问题标题】:Symfony2 : Best way to check form, client sideSymfony2:检查表单的最佳方式,客户端
【发布时间】:2016-07-03 10:27:24
【问题描述】:

我正在使用 Symfony2 开发一个表单:多个文本输入和 一个文件输入(用于一张图片)。我在我的实体中定义了一些断言(maxLength,minLength...),以便检查表单(isValid)。

我的问题是:如果用户在文本输入中输入错误数据(文本太长或太短......),他仍然可以提交表单,并且错误并打印,但用户必须重新选择他的图片

由于我认为在验证错误后不可能将图片保留在表单中,所以我应该在提交之前检查客户端(javascript)中的表单。

那么,有没有一种自动的方法来做到这一点(在数据正确之前禁止提交)?可以在twig中获取assert minLength, maxLength值吗?

谢谢! 本。

【问题讨论】:

    标签: validation symfony input twig client-side


    【解决方案1】:

    你可以在提交数据之前使用js验证,使用一些js表单验证tools,但是这样你需要从服务器复制验证逻辑,所以如果验证规则发生变化,你需要在服务器和客户端。我推荐这种方法来减少客户端-服务器之间的流量。

    如果您不想这样,请使用 ajax 表单提交 (example here)。您仍然使用 symfony 验证表单,但页面不会刷新,因此您不会丢失附件。但这会给服务器带来额外的流量,并且您还需要使用 javascript 实现错误显示。

    【讨论】:

    • Ajax,没想到ajax。谢谢你:)
    猜你喜欢
    • 1970-01-01
    • 2011-04-05
    • 1970-01-01
    • 2019-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-13
    • 1970-01-01
    相关资源
    最近更新 更多