Laravel 4 - 如何验证多个字段的唯一性?

时间:2013-12-19 06:15:48

标签: php validation laravel laravel-4 schema

我有这个架构:

Schema::create('members', function(Blueprint $table)
    {
        $table->increments('id');
        $table->string('lname');
        $table->string('fname');
        $table->integer('mname');

        $table->unique(array('lname', 'fname'));
    });

我的问题是,如何验证这些独特的字段?

我试过了,但我知道这是错的......

public static $rules = array(
    'lname' => 'unique:members',
    'fname' => 'unique:members'
);

任何帮助表示赞赏.. :)

2 个答案:

答案 0 :(得分:6)

您应该使用此包https://github.com/felixkiss/uniquewith-validator

像这样使用它:

$rules = array(
    '<field1>' => 'unique_with:<table>,<field2>[,<field3>,...,<ignore_rowid>]',
);

答案 1 :(得分:3)

尝试以下方法:

public static $rules = array(
    'lname' => 'unique:members,lname',
    'fname' => 'unique:members,fname'
);


 'lname' => 'unique:members,lname',
                            ^^^^^ "lname" is a column of members table

更多信息:

http://laravel.com/docs/validation#rule-unique