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()
return [
'category' => ['required'],
'question' => ['required', 'mimes:pdf'],
'answer' => ['required', 'mimes:pdf'],
'answer' => ['mimes:pdf'],
'name' => ['required'],
'fee' => ['required','integer'],
'level' => ['required'],
......@@ -38,6 +38,7 @@ public function messages()
{
return [
'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',
'answer.mimes' => 'chỉ có thể upload file pdf',
'name.required' => 'Hãy nhập tên đề thi',
......
......@@ -12,38 +12,39 @@
<li>
<b>{{ $i }}</b>
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)" />
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)" />
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)" />
D.
<input name="{{ $i }}" id="D{{ $i }}" type="radio" value="D"
onclick="handleClick(this)" />
<input name="{{ $i }}" id="D{{ $i }}" type="radio"
value="{{ old('value') ?? 4 }}" onclick="handleClick(this)" />
</li>
</ul>
@endfor
</div>
<script>
var countAnswer = 0;
const array = [];
function handleClick(input) {
var name = input.name;
var number = {{ request('numberOfQuestion') ?? 0 }};
var i = number - name;
var countAnswer = 0;
const array = [];
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;
}
function handleClick(input) {
var name = input.name;
var number = {{ request('numberOfQuestion') ?? 0 }};
var i = number - name;
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>
......@@ -155,7 +155,7 @@ class="form-control @error('numberOfQuestion') is-invalid @enderror" placeholder
</div>
@enderror
</div>
<div class="row"id="questionForm">
<div class="row" id="questionForm" name="questionForm">
</div>
<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
<script>
$(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
$('#numberOfQuestion').change(function() {
$.ajax({
......@@ -187,48 +200,48 @@ class="form-control @error('numberOfQuestion') is-invalid @enderror" placeholder
});
//validate form
$("#uploadForm").validate({
rules: {
category: "required",
name: "required",
fee: {
required: true,
number: true,
min: 2
}
level: "required",
numberOfQuestion: {
required: true,
number: true,
min: 2
},
time: {
required: true,
number: true,
min: 2
},
},
messages: {
category: 'Hãy chọn danh mục!',
name: 'Hãy nhập tên đề thi',
fee: {
required: 'Hãy nhập phí thi',
number: 'Hãy nhập phí thi bằng một số',
min: 'Phí thi không được nhỏ hơn 0'
},
level: 'Hãy chọn mức độ',
time: {
required: 'Hãy nhập thời gian thi',
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'
},
numberOfQuestion: {
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ố',
min: 'Số câu hỏi không được nhỏ hơn 0'
},
}
});
// $("#uploadForm").validate({
// rules: {
// category: "required",
// name: "required",
// fee: {
// required: true,
// number: true,
// min: 2
// }
// level: "required",
// numberOfQuestion: {
// required: true,
// number: true,
// min: 2
// },
// time: {
// required: true,
// number: true,
// min: 2
// },
// },
// messages: {
// category: 'Hãy chọn danh mục!',
// name: 'Hãy nhập tên đề thi',
// fee: {
// required: 'Hãy nhập phí thi',
// number: 'Hãy nhập phí thi bằng một số',
// min: 'Phí thi không được nhỏ hơn 0'
// },
// level: 'Hãy chọn mức độ',
// time: {
// required: 'Hãy nhập thời gian thi',
// 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'
// },
// numberOfQuestion: {
// 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ố',
// min: 'Số câu hỏi không được nhỏ hơn 0'
// },
// }
// });
})
</script>
@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