小编ahm*_*mdy的帖子

Laravel:验证在更新时是唯一的

我知道这个问题之前已被多次询问,但没有人解释当你在模型中验证时如何获得id.

'email' => 'unique:users,email_address,10'
Run Code Online (Sandbox Code Playgroud)

我的验证规则在模型中,因此如何将记录的ID传递给验证规则.

这是我的模特/用户

protected $rules_update = [
    'email_address' => 'required|email|unique:users,email_address,'.$id,
    'first_name' => "required",
    'last_name' => "required",
    'password' => "required|min:6|same:password_confirm",
    'password_confirm' => "required:min:6|same:password",
    'password_current' => "required:min:6"
];
Run Code Online (Sandbox Code Playgroud)

车型/ BaseModel

    protected $rules = array();

public $errors;

/*
    * @data: array, Data to be validated
    * @rules: string, rule name in model 
*/

public function validate($data, $rules = "rules") {

    $validation  = Validator::make($data, $this->$rules);

    if($validation->passes()) {
        return true;
    }

    $this->errors = $validation->messages();

    return false;
}
Run Code Online (Sandbox Code Playgroud)

php validation laravel laravel-4

42
推荐指数
14
解决办法
7万
查看次数

C2DM:如何使用C2D_MESSAGE权限?

我即将为我的应用程序实现C2DM,但我发现有关如何编写清单的文档有点令人困惑.

清单代码示例包含:

<!-- Only this application can receive the messages and registration result --> 
<permission android:name="com.example.myapp.permission.C2D_MESSAGE" android:protectionLevel="signature" />
<uses-permission android:name="com.example.myapp.permission.C2D_MESSAGE" />
Run Code Online (Sandbox Code Playgroud)

这解释如下:

applicationPackage +".permission.C2D_MESSAGE阻止其他应用程序注册和接收应用程序的消息.

但这究竟是如何工作的呢?据我所知,这声明了一个权限,然后获得我的应用程序的权限.但是这个许可究竟在哪里执行?

注册的代码是:

Intent registrationIntent = new Intent("com.google.android.c2dm.intent.REGISTER");
registrationIntent.putExtra("app", PendingIntent.getBroadcast(this, 0, new Intent(), 0)); // boilerplate
registrationIntent.putExtra("sender", emailOfSender);
startService(registrationIntent);
Run Code Online (Sandbox Code Playgroud)

接收registrationIntent的服务如何知道要检查的权限?据我所知(如果我错了,请纠正我),在声明权限时,我可以在我的命名空间中选择任何权限名称,例如com.example.myapp.permission.WHATEVER.

或者C2D_MESSAGE是我必须使用的魔法常数?


此外,文档说我必须实现接收器com.google.android.c2dm.intent.C2D_MESSAGEcom.google.android.c2dm.intent.REGISTRATIONIntents.但在代码示例中,接收者的过滤器仅包含.intent.RECEIVE.intent.REGISTRATIONIntents.C2D_MESSAGE去哪儿了,它和我上面的问题有什么关系吗?

我希望这不是显而易见的事情,但我只是不明白......请帮忙.

android android-c2dm

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

如何将容器作为服务的参数

在我的服务构造函数中

public function __construct(
        EntityManager $entityManager,
        SecurityContextInterface $securityContext)
{
     $this->securityContext = $securityContext;
    $this->entityManager = $entityManager;
Run Code Online (Sandbox Code Playgroud)

我将entityManager和securityContext作为参数传递.我的services.xml也在这里

    <service id="acme.memberbundle.calendar_listener" class="Acme\MemberBundle\EventListener\CalendarEventListener">
        <argument type="service" id="doctrine.orm.entity_manager" />
        <argument type="service" id="security.context" />
Run Code Online (Sandbox Code Playgroud)

但现在,我想在服务中使用容器

$this->container->get('router')->generate('fos_user_profile_edit') 
Run Code Online (Sandbox Code Playgroud)

我怎样才能将容器传递给服务?

php symfony symfony-2.3

29
推荐指数
4
解决办法
5万
查看次数

通过反射迭代数组

我正在做一些反思工作并且遇到一个小问题.

我正在尝试将对象打印到某个GUI树,并且以通用方式检测数组有问题.

我建议:

对象instanceof Iterable

会成功,但事实并非如此(显然只适用于Lists和Set以及任何实现它的人.)

因此,如何是我会recognice数组一些Object[],或者long[]还是Long[]......?

谢谢

java reflection

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

"gpgkeys:关键7F0CEB10对密钥服务器未找到"的响应,同时尝试在Ubuntu上安装MongoDB的

我正在尝试mongodb在我的Ubuntu 12.04桌面版上安装.首先,我希望mongodb在Ubuntu桌面版上安装没有任何问题.

我按照mongodb手册将其安装到我的Ubuntu机器上. 我尝试10gen public GPG Key使用说明(在手册中给出)导入时,按

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
Run Code Online (Sandbox Code Playgroud)

我收到了这个回复:

Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /tmp/tmp.WsHkMVxFlM --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver keyserver.ubuntu.com --recv 7F0CEB10

gpg: requesting key 7F0CEB10 from hkp server keyserver.ubuntu.com

gpgkeys: key 7F0CEB10 not found on keyserver

gpg: no valid OpenPGP data found.

gpg: Total number processed: 0
Run Code Online (Sandbox Code Playgroud)

在这方面的任何帮助或暗示表示赞赏.

提前致谢.

ubuntu apt gnupg mongodb

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

GetFragmentManager.findFragmentByTag()返回null

        getFragmentManager().beginTransaction()
                .replace(R.id.graph_fragment_holder, new GraphFragment(), "GRAPH_FRAGMENT")
                .commit();

        getFragmentManager().beginTransaction()
                .replace(R.id.list_fragment_holder, new ListFragment(), "LIST_FRAGMENT")
                .commit();

        //getFragmentManager().executePendingTransactions();

        GraphFragment graphFragment = (GraphFragment) getFragmentManager().findFragmentByTag("GRAPH_FRAGMENT");
        graphFragment.setData(data);

        ListFragment listFragment = (ListFragment) getFragmentManager().findFragmentByTag("LIST_FRAGMENT");
        listFragment.setData(data);
Run Code Online (Sandbox Code Playgroud)

我提供了一个标签,所以我不确定为什么要findFragmentByTag()返回null.

我在阅读其他问题时尝试过:

  1. this.setRetainInstance(true)oncreate两者中fragments.

  2. 两个fragment构造函数都是空的public fragmentName(){}.

  3. executePendingTransactions加入后尝试了fragments.

  4. 尝试add而不是replacefragments(编)

android fragment android-fragments

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

EPERM,操作不允许错误,配置存储

我知道这是一个常见的错误,node但我的所有故障排除技术似乎都失败了.

  • Windows 7(32位)
  • Node@0.10.10
  • npm@1.2.25

尝试运行像(boweryoYeoman)这样的包命令时会发生此问题.为了我的理智,我在执行这些命令时以管理员身份运行的Node.js命令提示符.

例如,以下是运行此命令的输出yo:

Error: EPERM, operation not permitted 'C:\Users\me\.config\configstore\insight-yo.yml'
    at Object.fs.openSync (fs.js:427:18)
    at Object.fs.writeFileSync (fs.js:966:15)
    at Object.create.all.set (C:\Users\me\AppData\Roaming\npm\node_modules\yo\node_modules\insight\node_modules\configstore\configstore.js:39:7)
    at Object.Configstore (C:\Users\me\AppData\Roaming\npm\node_modules\yo\node_modules\insight\node_modules\configstore\configstore.js:30:11)
    at new Insight (C:\Users\me\AppData\Roaming\npm\node_modules\yo\node_modules\insight\lib\insight.js:20:16)
    at Object.<anonymous (C:\Users\me\AppData\Roaming\npm\node_modules\yo\bin\yo:25:15)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
Run Code Online (Sandbox Code Playgroud)

从本质上讲,似乎该node进程无法写入此.config文件夹.

我已尝试以下方法进行故障排除:

  • 全新安装node和个别包装(以各种可能的顺序)
  • .config文件夹上的所有用户设置写权限
  • git在npm存储库中阅读Windows用户的注释后重新安装

有关此问题的任何想法或故障排除技巧?

谢谢!

windows permissions windows-7 node.js

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

第三方API返回500错误,我的API应返回什么代码

我在基于名为Apigility的ZF2(Zend Framework 2)的框架中编写了一个API.

我的服务可以查询第三方API.偶尔,我会收到一条500错误消息..要么是因为过期的令牌,要么是等等.

我的API如何回应我的客户?

我一开始以为我应该回500,但实际上这似乎是错的.我不想返回一个错误,表明我已经崩溃了......这是第三方有500的.

更新:下面是我从第三方看到的.

我想我喜欢...的想法,503 Service unavailable错误信息告诉用户什么是错的,以及如何解决它.

更新显示第三方的回复:

Error performing request to OAuth Provider. 
HTTP/1.1 500 Internal Server Error
Server: nginx/1.1.19
Date: Fri, 22 Aug 2014 20:24:40 GMT
Content-Type: text/html
Content-Length: 20
Connection: close
X-Powered-By: PHP/5.3.10-1ubuntu3.1
Set-Cookie: lang_select_language=en; Expires=Sun, 21-Aug-2016 20:24:42 GMT; Path=/
X-WI-SRV: FR-EQX-WEB-03
Vary: Accept-Encoding
Content-Encoding: gzip
Run Code Online (Sandbox Code Playgroud)

思考?

/**
 * Status titles for common problems
 *
 * @var array
 */
protected $problemStatusTitles = array(
    // CLIENT ERROR
    400 => 'Bad Request',
    401 => …
Run Code Online (Sandbox Code Playgroud)

rest http-status-codes apigility

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

Symfony2 - DoctrineMongoDBBundle - Doctrine\Common\Annotations\AnnotationException

我正在尝试使用DoctrineMongoDBBundle,但是,我遇到了一个问题.

在我的config.yml中,我有:

doctrine_mongodb:
    connections:
        default:
            server: mongodb://localhost:27017
            options:
                connect: true
    default_database: symfony2
    document_managers:
        default:
            auto_mapping: true
Run Code Online (Sandbox Code Playgroud)

我的User.php类:

<?php
namespace HALL\HelloWorldBundle\Document;
use FOS\UserBundle\Document\User as BaseUser;
use Doctrine\ODM\MongoDB\Mapping\Annotations as MongoDB;

/**
 * @MongoDB\Document
 */
class User extends BaseUser
{
    /** @MongoDB\Id(strategy="auto") */
    protected $id;

    public function __construct()
    {
        parent::__construct();
        // your own logic
    }
}
Run Code Online (Sandbox Code Playgroud)

当我运行命令时:

 php app/console doctrine:mongodb:generate:documents HALLHelloWorldBundle
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

[Doctrine\Common\Annotations\AnnotationException]
[语义错误]类HALL\HelloWorldBundle\Document\User中的注释"@Doctrine\ODM\MongoDB\Mapping\Annotations\Document"不存在,或者无法自动加载.

有什么想法吗?注释被明确引用.

doctrine symfony doctrine-orm doctrine-odm

8
推荐指数
2
解决办法
6861
查看次数

无法从片段中投射

我在我的布局中定义了两个片段MainActivity并设置了setContentView.我想从这些片段中调用一些方法,但我不知道如何访问它们.Eclipse说:"无法将表单片段转换为ListFileFrgament".

public class MainActivity extends FragmentActivity {

    @Override
     protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    FileListFragment listFragment = (FileListFragment) getFragmentManager().findFragmentById(R.id.list_fragment);  
     // cannot casr here
    PlayerFragment playerFragment = (PlayerFragment) getFragmentManager().findFragmentById(R.id.player_fragment); 
     // cannot cast here
    }


}
Run Code Online (Sandbox Code Playgroud)

java android android-fragments android-fragmentactivity

8
推荐指数
2
解决办法
7276
查看次数