我想知道如何只验证字段(多个)。
例如。我有一个Permission
模型,它有一个限制,其中两个字段是唯一的。
权限迁移
Schema::create('permissions', function (Blueprint $table) {
$table->increments('id');
$table->string('namespace')->nullable();
$table->string('name');
$table->unique(array('namespace', 'name'));
});
我知道Validator
类有一个独特的规则,但我认为它只适用于一个字段,而不是两个或更多。
class Permission extends BaseModel {
protected $table = 'permissions';
public static $rules = array(
'name' => 'required|alpha',
'namespace' => 'alpha'
);
}
class BaseModel extends Eloquent
{
public $errors;
public static function boot()
{
parent::boot();
static::saving(function($model)
{
return $model->validate();
});
}
public function validate()
{
$validation = Validator::make($this->attributes, static::$rules);
if($validation->passes()) return true;
$this->errors = $validation->messages();
return false;
}
}
我的问题是如何验证这些情况,其中db唯一约束中有多个字段。
答案 0 :(得分:0)
没有本地方法来验证它。如果你看Custom Validators 和Uniqueness Validation,您应该能够找到适合您需求的解决方案。
如果您不需要通用的东西,可以查看this example。