Commit 52fa7d36 authored by TTS Tran Viet Anh's avatar TTS Tran Viet Anh

update validation

parent c886b50b
...@@ -26,7 +26,7 @@ public function rules() ...@@ -26,7 +26,7 @@ public function rules()
return [ return [
'category' => ['required'], 'category' => ['required'],
'question' => ['required', 'mimes:pdf'], 'question' => ['required', 'mimes:pdf'],
'answer' => ['required', 'mimes:pdf'], 'answer' => ['mimes:pdf'],
'name' => ['required'], 'name' => ['required'],
'fee' => ['required','integer'], 'fee' => ['required','integer'],
'level' => ['required'], 'level' => ['required'],
...@@ -38,6 +38,7 @@ public function messages() ...@@ -38,6 +38,7 @@ public function messages()
{ {
return [ return [
'category.required' => 'Hãy chọn danh mục!', 'category.required' => 'Hãy chọn danh mục!',
'question.required' => 'Hãy chọn file câu hỏi',
'question.mimes' => 'chỉ có thể upload file pdf', 'question.mimes' => 'chỉ có thể upload file pdf',
'answer.mimes' => 'chỉ có thể upload file pdf', 'answer.mimes' => 'chỉ có thể upload file pdf',
'name.required' => 'Hãy nhập tên đề thi', 'name.required' => 'Hãy nhập tên đề thi',
......
...@@ -12,38 +12,39 @@ ...@@ -12,38 +12,39 @@
<li> <li>
<b>{{ $i }}</b> <b>{{ $i }}</b>
A. A.
<input name="{{ $i }}" id="A{{ $i }}" type="radio" value="A" <input name="{{ $i }}" id="A{{ $i }}" type="radio" value="{{ old('value') ?? 1 }}"
onclick="handleClick(this)" /> onclick="handleClick(this)" />
B. B.
<input name="{{ $i }}" id="B{{ $i }}" type="radio" value="B" <input name="{{ $i }}" id="B{{ $i }}" type="radio" value="{{ old('value') ?? 2 }}"
onclick="handleClick(this)" /> onclick="handleClick(this)" />
C. C.
<input name="{{ $i }}" id="C{{ $i }}" type="radio" value="C" <input name="{{ $i }}" id="C{{ $i }}" type="radio" value="{{ old('value') ?? 3 }}"
onclick="handleClick(this)" /> onclick="handleClick(this)" />
D. D.
<input name="{{ $i }}" id="D{{ $i }}" type="radio" value="D" <input name="{{ $i }}" id="D{{ $i }}" type="radio"
onclick="handleClick(this)" /> value="{{ old('value') ?? 4 }}" onclick="handleClick(this)" />
</li> </li>
</ul> </ul>
@endfor @endfor
</div> </div>
<script> <script>
var countAnswer = 0; var countAnswer = 0;
const array = []; const array = [];
function handleClick(input) {
var name = input.name;
var number = {{ request('numberOfQuestion') ?? 0 }};
var i = number - name;
if ($("input[name=" + name + "]").is(':checked') && jQuery.inArray(i, array) == -1) { function handleClick(input) {
countAnswer += 1; var name = input.name;
array.push(i); var number = {{ request('numberOfQuestion') ?? 0 }};
} else if ($("input[name=" + name + "]").is(':checked') && jQuery.inArray(i, array) != -1) { var i = number - name;
countAnswer += 0; console.log(input.value);
}
$("#countAnswer").html(countAnswer); if ($("input[name=" + name + "]").is(':checked') && jQuery.inArray(i, array) == -1) {
countAnswer += 1;
array.push(i);
} else if ($("input[name=" + name + "]").is(':checked') && jQuery.inArray(i, array) != -1) {
countAnswer += 0;
} }
$("#countAnswer").html(countAnswer);
}
</script> </script>
...@@ -155,7 +155,7 @@ class="form-control @error('numberOfQuestion') is-invalid @enderror" placeholder ...@@ -155,7 +155,7 @@ class="form-control @error('numberOfQuestion') is-invalid @enderror" placeholder
</div> </div>
@enderror @enderror
</div> </div>
<div class="row"id="questionForm"> <div class="row" id="questionForm" name="questionForm">
</div> </div>
<button class="btn btn-primary" type="submit" id="submitButton">Đăng ngay</button> <button class="btn btn-primary" type="submit" id="submitButton">Đăng ngay</button>
...@@ -164,6 +164,19 @@ class="form-control @error('numberOfQuestion') is-invalid @enderror" placeholder ...@@ -164,6 +164,19 @@ class="form-control @error('numberOfQuestion') is-invalid @enderror" placeholder
<script> <script>
$(document).ready(function() { $(document).ready(function() {
var x = $('#numberOfQuestion').val();
if (x != null) {
$.ajax({
type: "GET",
url: "{{ route('questionForm') }}",
data: {
numberOfQuestion: $('#numberOfQuestion').val()
},
success: function(data) {
$("#questionForm").html(data);
}
});
}
//show question form //show question form
$('#numberOfQuestion').change(function() { $('#numberOfQuestion').change(function() {
$.ajax({ $.ajax({
...@@ -187,48 +200,48 @@ class="form-control @error('numberOfQuestion') is-invalid @enderror" placeholder ...@@ -187,48 +200,48 @@ class="form-control @error('numberOfQuestion') is-invalid @enderror" placeholder
}); });
//validate form //validate form
$("#uploadForm").validate({ // $("#uploadForm").validate({
rules: { // rules: {
category: "required", // category: "required",
name: "required", // name: "required",
fee: { // fee: {
required: true, // required: true,
number: true, // number: true,
min: 2 // min: 2
} // }
level: "required", // level: "required",
numberOfQuestion: { // numberOfQuestion: {
required: true, // required: true,
number: true, // number: true,
min: 2 // min: 2
}, // },
time: { // time: {
required: true, // required: true,
number: true, // number: true,
min: 2 // min: 2
}, // },
}, // },
messages: { // messages: {
category: 'Hãy chọn danh mục!', // category: 'Hãy chọn danh mục!',
name: 'Hãy nhập tên đề thi', // name: 'Hãy nhập tên đề thi',
fee: { // fee: {
required: 'Hãy nhập phí thi', // required: 'Hãy nhập phí thi',
number: 'Hãy nhập phí thi bằng một số', // number: 'Hãy nhập phí thi bằng một số',
min: 'Phí thi không được nhỏ hơn 0' // min: 'Phí thi không được nhỏ hơn 0'
}, // },
level: 'Hãy chọn mức độ', // level: 'Hãy chọn mức độ',
time: { // time: {
required: 'Hãy nhập thời gian thi', // required: 'Hãy nhập thời gian thi',
number: 'Hãy nhập thời gian thi bằng một số', // number: 'Hãy nhập thời gian thi bằng một số',
min: 'Thời gian thi không được nhỏ hơn 0' // min: 'Thời gian thi không được nhỏ hơn 0'
}, // },
numberOfQuestion: { // numberOfQuestion: {
required: 'Hãy nhập số câu hỏi', // required: 'Hãy nhập số câu hỏi',
number: 'Hãy nhập số câu hỏi bằng một số', // number: 'Hãy nhập số câu hỏi bằng một số',
min: 'Số câu hỏi không được nhỏ hơn 0' // min: 'Số câu hỏi không được nhỏ hơn 0'
}, // },
} // }
}); // });
}) })
</script> </script>
@endsection @endsection
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment