小编Kri*_*ris的帖子

测试用于PayPal沙箱的信用卡号

我在使用PayPal的沙箱测试信用卡付款方面遇到了麻烦.在developer.paypal.com中查看买家的沙盒帐户的个人资料时,我可以看到以下信用卡详细信息:

帐户

虽然在付款屏幕上使用这些详细信息时,我收到消息"我们很抱歉,我们无法完成此付款.请尝试使用其他卡片."

错误

我已经读过其他问题,你应该能够登录沙盒帐户,去添加额外的信用卡,它应该为你生成一些测试号码......但是,当我这样做时,所有字段都是空白的:

加

我也试过使用一些"有效"数字(即它们通过Luhn算法),但这些都不适用于我.

我也试过了这个页面上列出的数字:https://www.paypalobjects.com/en_US/vhelp/paypalmanager_help/credit_card_numbers.htm - 它们没有用.

我试过美国和英国的账户.没运气.

有任何想法吗?

paypal paypal-sandbox

36
推荐指数
3
解决办法
10万
查看次数

MySQL:匹配两个日期之间有x个连续日期的记录

背景/应用

我有一个MySQL数据库,其中包含可出租属性表和这些属性的预订表.还有一个搜索功能,用于查找两个提供日期之间的可用属性.在搜索时,用户可以输入开始日期,他们希望停留的天数以及最多+/- 7天的日期灵活性.预订可以在另一个预订结束的同一天开始(派对1在早上离开,派对2在晚上到达).

我无法有效地实现灵活性功能.

架构

CREATE TABLE IF NOT EXISTS `property` (
    `id` bigint(20) NOT NULL AUTO_INCREMENT,
    `name` varchar(60) COLLATE utf8_unicode_ci DEFAULT NULL,
    PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

CREATE TABLE IF NOT EXISTS `property_booking` (
    `id` bigint(20) NOT NULL AUTO_INCREMENT,
    `property_id` bigint(20) DEFAULT NULL,
    `name` varchar(60) COLLATE utf8_unicode_ci DEFAULT NULL,
    `date_start` date DEFAULT NULL,
    `date_end` date DEFAULT NULL,
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
Run Code Online (Sandbox Code Playgroud)

样本数据

INSERT INTO `property` (`name`) 
VALUES ('Property 1'), ('Property 2'), ('Property …
Run Code Online (Sandbox Code Playgroud)

mysql date date-range

11
推荐指数
1
解决办法
2393
查看次数

数据绑定数字输入的最小/最大属性时不会触发验证

我有许多数字输入字段,其最小和最大属性值取决于我的AngularJS应用程序中的其他位置的逻辑,但是当在这些属性中使用数据绑定时,它们不再由Angular验证,但是,HTML 5验证仍然似乎选择它们起来.

var myApp = angular.module('myApp', []);
function FirstCtrl($scope) {
    $scope.min = 10;
    $scope.max = 20;
}
Run Code Online (Sandbox Code Playgroud)
<div ng-app="myApp">
    <div ng-controller="FirstCtrl">
        <form name="myForm">
            <input type="number" name="one" required="required"
                   min="10" max="20" ng-model="one" />
            <input type="number" name="two" required="required"
                   min="{{ min }}" max="{{ max }}" ng-model="two" />
            <button ng-disabled="!myForm.$valid">Submit</button>
        </form>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

现场版:http://jsfiddle.net/kriswillis/bPUVH/2/

正如您所看到的,HTML/CSS(Bootstrap)中的验证仍然可以正常处理,因为两个字段在无效时变为红色,但是,当第二个字段无效时,不会禁用提交按钮(由Angular处理).另外,还有一些中没有的最小值和最大值的属性myForm.two.$error,因为在myForm.one.$error.

谁能看到我哪里出错了?

angularjs

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

无法从自定义Symfony2命令中发送电子邮件,但可以从应用程序的其他位置发送

我编写了一个自定义控制台命令来查询我的数据库,生成报告并通过电子邮件发送到一个地址; 但是我似乎无法成功发送电子邮件.我可以从我的应用程序中的其他地方的普通控制器中发送电子邮件,如果我手动创建和配置Swift_Mailer实例而不是通过容器获取它,我也可以从我的控制台命令中发送它.

这是我的控制台命令的精简版:

<?php

namespace Foo\ReportBundle\Command;

use Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;

class ExpiryCommand extends ContainerAwareCommand
{
    protected function configure()
    {
        $this->setName('report:expiry')
            ->setDescription('Compile and send e-mail listing imminent expiries');
    }

    protected function execute(InputInterface $input, OutputInterface $output)
    {
        /* ... */
        $message = \Swift_Message::newInstance()
            ->setSubject('Expiry report')
            ->setFrom('DoNotReply@domain.com')
            ->setTo('recipient@domain.com')
            ->setBody($body);

        $mailer = $this->getContainer()->get('mailer');

/*      This works...
        $transport = \Swift_SmtpTransport::newInstance('smtp.domain.com', 25)
            ->setUsername('username')
            ->setPassword('password');
        $mailer = \Swift_Mailer::newInstance($transport);
*/
        $result = $mailer->send($message);
        $output->writeln($result);
    }
}
Run Code Online (Sandbox Code Playgroud)

Swiftmailer配置为通过我的app/config/config.yml文件中的SMTP发送(delivery_address: dev@domain.com也设置为app/config/config_dev.yml):

swiftmailer:
    transport: …
Run Code Online (Sandbox Code Playgroud)

php swiftmailer symfony

9
推荐指数
1
解决办法
6550
查看次数

使用YAML使用Symfony2配置可翻译的Doctrine2扩展

简而言之

我正在编写一个Symfony2/Doctrine2应用程序,并使用YAML安装并配置了由StofDoctrineExtensionsBundle提供的可翻译扩展,但是在尝试使用具有可翻译属性的实体时,不会生成其他转换表并抛出以下异常:

没有为'Gedmo\Translatable\Entity\Translation'类找到名为'/var/www/my-project/vendor/gedmo/doctrine-extensions/lib/Gedmo/Translatable/Entity/Translation.orm.yml'的映射文件.

更详细

我正在尝试使用由StofDoctrineExtensionsBundle提供的Symfony2/Doctrine2应用程序中的Translatable扩展,但是我能找到的大多数可用文档主要针对配置的注释使用,但是我要使用YAML,因为那是我如何配置其他一切.

我的配置

我已将以下内容添加到我的composer.json文件中并运行了composer update命令:"stof/doctrine-extensions-bundle": "dev-master"并且捆绑包已在我的app/AppKernel.php文件中注册.

我的app/config/config.yml文件具有以下配置:

doctrine:
  orm:
    auto_generate_proxy_classes: %kernel.debug%
      auto_mapping: true        
      mappings:
        gedmo_translatable:
          type: yml
          prefix: Gedmo\Translatable\Entity
          dir: "%kernel.root_dir%/../vendor/gedmo/doctrine-extensions/lib/Gedmo/Translatable/Entity"
          alias: GedmoTranslatable
          is_bundle: false

stof_doctrine_extensions:
  default_locale: en_GB
  translation_fallback: true
  orm:
    default:
      timestampable: true
      translatable: true
Run Code Online (Sandbox Code Playgroud)

然后我在YAML中定义了一个实体:

Foo\ContentBundle\Entity\Article:
  type: entity
  repositoryClass: Foo\ContentBundle\Repository\ArticleRepository
  table: article
  gedmo:
    translation:
      locale: locale
  id:
    id:
      type: integer
      generator: { strategy: AUTO }
  fields:
    name:
      type: string
      length: 64
      gedmo:
        - …
Run Code Online (Sandbox Code Playgroud)

translation symfony doctrine-orm

8
推荐指数
1
解决办法
8514
查看次数

当所有其他字段映射到实体时,验证Symfony2表单类中的非映射字段

我在Symfony2应用程序中有一个主要用于持久化实体的表单,但是我添加了一个额外的非映射字段,用于上载随后处理和删除的文件.但是,我无法弄清楚如何验证这个额外的字段.

这里是buildForm()我的表单类的方法中定义的:

public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder
        ->add('name', 'text', array('label' => 'Name'))
        // ...
        ->add('data', 'file', array(
            'label'    => 'CSV Data File',
            'mapped'   => false,
            'required' => false,
        ));
}
Run Code Online (Sandbox Code Playgroud)

我最初尝试将此字段的验证添加到bundle的validation.yml文件中,但是因为此字段不是实体的一部分,所以它抛出了一个错误,说明了这一点.

My\Bundle\Entity\MyEntity:
  properties:
    data:
      - File:
          maxSize: 1024k
          mimeTypes: text/*
          mimeTypesMessage: Please upload a CSV file
Run Code Online (Sandbox Code Playgroud)

我的下一次尝试是在表单类本身中添加约束,就像这样,但看起来你只能以这种方式验证数组,而不是对象,我猜是因为它主要与我的实体绑定.

public function setDefaultOptions(OptionsResolverInterface $resolver)
{
    $collectionConstraint = new Collection(array(
        'data' => new File(array(
            'maxSize'          => '1024k',
            'mimeTypes'        => 'text/*',
            'mimeTypesMessage' => 'Please upload a CSV file', …
Run Code Online (Sandbox Code Playgroud)

php symfony

2
推荐指数
1
解决办法
7578
查看次数