【问题标题】:Tables, forms and validation - Symfony2, Twig, Doctrine表格、表单和验证 - Symfony2、Twig、Doctrine
【发布时间】:2012-08-06 14:32:06
【问题描述】:

我有一些问题都连接了,所以我会在这里问所有问题:

  1. [已解决] 我有可以为空的日期字段,当我不填写它们时,它们显示为 2012-08-09 - 今天的日期,尽管当我检查数据库时它们为空。我在它们上面都有 @ORM\Column(type="date", nullable=true)@Assert\Date

  2. 我有表单验证 @Assert\Date@Assert\NotBlank() 但我违反了这个限制,尽管我有 {{ form_errors(form) }}。如何显示表单到底出了什么问题?

  3. [已解决] 最后一个是我在一个名为 $currency 的字段上方设置了 NotBlank() 约束。这就是我添加它的方式:

    $builder->add('currency', 'choice', array(
        'choices' => array(
            'empty_value' => '--- Choose ---', 'USD' => 'USD', 'HKD' => 'HKD')));
    

    但是如果我没有设置任何东西(它保持 --- 选择 ---- )它会接受它,尽管它是空的。我希望默认选择是 --- 选择 ---,但不能这样离开它并且表单同时有效。

感谢您的帮助!

【问题讨论】:

  • 为什么你有'---选择---'的字符串'empty_value'如果你想让它限制notblank,它应该只是''
  • 非常感谢! :) 我看到了一个例子,它是“empty_value”,我认为是这样的。 ;d
  • 如何显示日期项?
  • 这样 {{ var.someDate|date('Y-m-d')}}

标签: php symfony doctrine-orm twig


【解决方案1】:

第一个问题,取自 twig 文档:

如果传递给日期过滤器的值为空,则默认返回当前日期。如果需要空字符串而不是当前日期,请使用三元运算符:

{{ post.published_at is empty ? "" : post.published_at|date("m/d/Y") }}

【讨论】:

  • 感谢您为我提供了如此多的帮助并回答了我几乎所有的问题!非常感谢!
【解决方案2】:

关于第二个问题,这里有信息Symfony2 : How to get form validation errors after binding the request to the form 很抱歉没有早点找到它并质疑已经被质疑的东西。

【讨论】:

    猜你喜欢
    • 2012-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-12
    • 1970-01-01
    相关资源
    最近更新 更多