mirror of
https://github.com/lkddi/nexusphp.git
synced 2026-04-14 12:30:49 +08:00
store-exam-validate
This commit is contained in:
@@ -5,10 +5,12 @@ namespace App\Http\Controllers;
|
||||
use App\Http\Resources\ExamResource;
|
||||
use App\Http\Resources\ExamUserResource;
|
||||
use App\Http\Resources\UserResource;
|
||||
use App\Models\Exam;
|
||||
use App\Repositories\ExamRepository;
|
||||
use App\Repositories\UserRepository;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Validation\Rule;
|
||||
|
||||
class ExamController extends Controller
|
||||
{
|
||||
@@ -43,6 +45,8 @@ class ExamController extends Controller
|
||||
$rules = [
|
||||
'name' => 'required|string',
|
||||
'indexes' => 'required|array|min:1',
|
||||
'indexes.*.index' => ['required', Rule::in(array_keys(Exam::$indexes))],
|
||||
'indexes.*.require_value' => 'required|numeric',
|
||||
'status' => 'required|in:0,1',
|
||||
'duration' => 'nullable|numeric'
|
||||
];
|
||||
@@ -77,6 +81,7 @@ class ExamController extends Controller
|
||||
$rules = [
|
||||
'name' => 'required|string',
|
||||
'indexes' => 'required|array|min:1',
|
||||
'indexes.*.name' => 'required',
|
||||
'status' => 'required|in:0,1',
|
||||
'duration' => 'nullable|numeric'
|
||||
];
|
||||
|
||||
@@ -56,12 +56,12 @@ class ExamRepository extends BaseRepository
|
||||
}
|
||||
$validIndex = [];
|
||||
foreach ($params['indexes'] as $index) {
|
||||
if (!isset($index['checked']) || !$index['checked']) {
|
||||
if (isset($index['checked']) && !$index['checked']) {
|
||||
continue;
|
||||
}
|
||||
if (!isset($index['require_value']) || !ctype_digit((string)$index['require_value'])) {
|
||||
throw new \InvalidArgumentException(sprintf(
|
||||
'Invalid require value for index: %s.', $index['name']
|
||||
'Invalid require value for index: %s.', $index['index']
|
||||
));
|
||||
}
|
||||
$validIndex[] = $index;
|
||||
@@ -77,7 +77,7 @@ class ExamRepository extends BaseRepository
|
||||
if (!empty($params['begin']) && !empty($params['end']) && empty($params['duration'])) {
|
||||
return true;
|
||||
}
|
||||
if (empty($params['begin']) && empty($params['end']) && ctype_digit((string)$params['duration']) && $params['duration'] > 0) {
|
||||
if (empty($params['begin']) && empty($params['end']) && isset($params['duration']) && ctype_digit((string)$params['duration']) && $params['duration'] > 0) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user