我在使用PayPal的沙箱测试信用卡付款方面遇到了麻烦.在developer.paypal.com中查看买家的沙盒帐户的个人资料时,我可以看到以下信用卡详细信息:
虽然在付款屏幕上使用这些详细信息时,我收到消息"我们很抱歉,我们无法完成此付款.请尝试使用其他卡片."
我已经读过其他问题,你应该能够登录沙盒帐户,去添加额外的信用卡,它应该为你生成一些测试号码......但是,当我这样做时,所有字段都是空白的:
我也试过使用一些"有效"数字(即它们通过Luhn算法),但这些都不适用于我.
我也试过了这个页面上列出的数字:https://www.paypalobjects.com/en_US/vhelp/paypalmanager_help/credit_card_numbers.htm - 它们没有用.
我试过美国和英国的账户.没运气.
有任何想法吗?
背景/应用
我有一个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) 我有许多数字输入字段,其最小和最大属性值取决于我的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
.
谁能看到我哪里出错了?
我编写了一个自定义控制台命令来查询我的数据库,生成报告并通过电子邮件发送到一个地址; 但是我似乎无法成功发送电子邮件.我可以从我的应用程序中的其他地方的普通控制器中发送电子邮件,如果我手动创建和配置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) 我正在编写一个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) 我在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) symfony ×3
php ×2
angularjs ×1
date ×1
date-range ×1
doctrine-orm ×1
mysql ×1
paypal ×1
swiftmailer ×1
translation ×1