小编Jih*_*hel的帖子

如何使用Restangular通过GET发送参数数组

我必须通过API中的get参数发送一个过滤器数组,如下所示:

/myList?filters[nickname]=test&filters[status]=foo
Run Code Online (Sandbox Code Playgroud)

现在如果我像这样直接发送一个对象:

Restangular.one('myList').get({filters: {
    nickname: 'test',
    status: 'foo'
}});
Run Code Online (Sandbox Code Playgroud)

真正发送的查询是

?filters={"nickname":"test","status":"foo"}
Run Code Online (Sandbox Code Playgroud)

如何发送真正的数组?我应该考虑替代方案吗?

angularjs restangular

27
推荐指数
4
解决办法
2万
查看次数

在 Symfony 3 中为集合的每个元素应用特定的验证组

我不得不将我的一个项目从 symfony 2.8 升级到 symfony 3.4,我注意到验证过程发生了巨大的变化。

为简化起见,假设我有一个 User 实体,其中包含许多 Addresses 实体。当我创建/更新我的用户时,我希望能够添加/删除/更新任意数量的地址。所以在 symfony 2.8 我有这种情况

用户

我使用注释验证器

src/AppBundle/Entity/User.php

//...
class User
{
    //...
    /** 
     * @Assert\Count(min=1, max=10)
     * @ORM\OneToMany(targetEntity="AppBundle\Entity\Address", mappedBy="user", cascade={"persist", "remove"})
     */
    protected $addresses;
    //...
}
Run Code Online (Sandbox Code Playgroud)

用户表单

src/AppBundle/Form/UserForm.php

public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder
        // ...
        ->add('addresses', CollectionType::class, [
            'type' => AddressType::class,
            'cascade_validation' => true,
            'allow_add' => true,
            'allow_delete' => true,
            'by_reference' => false,
        ])
    ;
}

public function setDefaultOptions(OptionsResolverInterface $resolver)
{
    $resolver->setDefaults([
        'data_class' => User::class,
        'cascade_validation' => …
Run Code Online (Sandbox Code Playgroud)

php forms validation symfony symfony-3.4

5
推荐指数
1
解决办法
708
查看次数

标签 统计

angularjs ×1

forms ×1

php ×1

restangular ×1

symfony ×1

symfony-3.4 ×1

validation ×1