fastadmin表单唯一性验证


fastadmin有时候后台的表单需要保证某个字段具有唯一性,例如:下面的用户名字段

如果我们的表单需要实现上面那个效果,可以参考以下代码。

首先,修改验证器规则代码,示例文件:admin/validate/Coupons.php

/**
* 验证规则
*/
protected $rule = [
    'coupon' => 'require|unique:coupons',
];

coupon为coupons表中的唯一性字段,需要确保唯一。

/**
* 验证场景
*/
protected $scene = [
    'add'  => ['coupon'],
    'edit' => ['coupon'],
];

添加构造器代码

public function __construct(array $rules = [], $message = [], $field = [])
{
    $this->field = [
        'coupon' => __('Coupon')
    ];
    parent::__construct($rules, $message, $field);
}

修改控制器代码,示例文件:admin/controller/Coupons.php

protected $modelSceneValidate = true;
protected $modelValidate = true;