我正在努力制定这个验证规则。在我的"s_accounts"表中,我有两行:acc_name(存储帐户名称(和acc_type(存储帐户类型(。以前,当我只使用一种帐户类型时,我创建了以下验证器规则,以确保acc_name是唯一的:
$rules = array('acc_name' => 'unique:s_accounts,acc_name');
$input['acc_name'] = $username;
$validator = Validator::make($input, $rules);
if ($validator->fails()) {
// account already exists
}
else {
// proceed
}
既然我的应用程序可以创建两种类型的帐户,我希望它能够拥有两个具有相同acc_name的帐户,只要acc_type不同。为了做到这一点,我需要更改此验证规则以包括$input['acc_type'] = "X";
我需要帮助的是更改规则数组,以便在存在具有相同acc_name和acc_type的帐户时验证失败,但在存在具有不同acc_type帐户时验证不会失败?
您可以将其作为附加参数添加到unique
规则中:
$rules = ['acc_name' => 'unique:s_accounts,acc_name,NULL,id,acc_type,x'];