diff --git a/problem/serizalizers.py b/problem/serizalizers.py index b29c0d30..1b0e9557 100644 --- a/problem/serizalizers.py +++ b/problem/serizalizers.py @@ -25,8 +25,8 @@ class CreateProblemSerializer(serializers.Serializer): # [{"input": "1 1", "output": "2"}] samples = ProblemSampleSerializer() test_case_id = serializers.CharField(max_length=40) - time_limit = serializers.IntegerField(min_value=1) - memory_limit = serializers.IntegerField(min_value=1) + time_limit = serializers.IntegerField(min_value=1, max_value=10000) + memory_limit = serializers.IntegerField(min_value=16) difficulty = serializers.IntegerField() tags = serializers.ListField(child=serializers.CharField(max_length=10)) hint = serializers.CharField(max_length=3000, allow_blank=True) diff --git a/static/src/js/app/admin/contest/editProblem.js b/static/src/js/app/admin/contest/editProblem.js index c19a26b1..d2d2bbe5 100644 --- a/static/src/js/app/admin/contest/editProblem.js +++ b/static/src/js/app/admin/contest/editProblem.js @@ -16,8 +16,12 @@ require(["jquery", "avalon", "editor", "uploader", "bsAlert", bsAlert("题目描述不能为空!"); return false; } - if (vm.timeLimit < 30 || vm.timeLimit > 5000) { - bsAlert("保证时间限制是一个30-5000的合法整数"); + if (vm.timeLimit < 1 || vm.timeLimit > 10000) { + bsAlert("保证时间限制是一个1-10000的整数"); + return false; + } + if (vm.memoryLimit < 16) { + bsAlert("最低内存不能低于16M(注意:Java最低需要内存32M)"); return false; } if (vm.samples.length == 0) { @@ -91,7 +95,7 @@ require(["jquery", "avalon", "editor", "uploader", "bsAlert", description: "", timeLimit: 1000, memoryLimit: 128, - samples: [], + samples: [{input: "", output: "", "visible": true}], hint: "", sortIndex: "", visible: true, diff --git a/static/src/js/app/admin/problem/addProblem.js b/static/src/js/app/admin/problem/addProblem.js index 73254afa..0e8605eb 100644 --- a/static/src/js/app/admin/problem/addProblem.js +++ b/static/src/js/app/admin/problem/addProblem.js @@ -14,8 +14,12 @@ require(["jquery", "avalon", "editor", "uploader", "bsAlert", bsAlert("题目描述不能为空!"); return false; } - if (vm.timeLimit < 30 || vm.timeLimit > 5000) { - bsAlert("保证时间限制是一个30-5000的合法整数"); + if (vm.timeLimit < 1 || vm.timeLimit > 10000) { + bsAlert("保证时间限制是一个1-10000的整数"); + return false; + } + if (vm.memoryLimit < 16) { + bsAlert("最低内存不能低于16M(注意:Java最低需要内存32M)"); return false; } if (vm.samples.length == 0) { diff --git a/static/src/js/app/admin/problem/editProblem.js b/static/src/js/app/admin/problem/editProblem.js index b1448644..a8666345 100644 --- a/static/src/js/app/admin/problem/editProblem.js +++ b/static/src/js/app/admin/problem/editProblem.js @@ -15,8 +15,12 @@ require(["jquery", "avalon", "editor", "uploader", "bsAlert", bsAlert("题目描述不能为空!"); return false; } - if (vm.timeLimit < 100 || vm.timeLimit > 5000) { - bsAlert("保证时间限制是一个100-5000的合法整数"); + if (vm.timeLimit < 1 || vm.timeLimit > 10000) { + bsAlert("保证时间限制是一个1-10000的整数"); + return false; + } + if (vm.memoryLimit < 16) { + bsAlert("最低内存不能低于16M(注意:Java最低需要内存32M)"); return false; } if (vm.samples.length == 0) { diff --git a/template/src/admin/contest/edit_problem.html b/template/src/admin/contest/edit_problem.html index 14bbd6bd..a9289497 100644 --- a/template/src/admin/contest/edit_problem.html +++ b/template/src/admin/contest/edit_problem.html @@ -26,17 +26,17 @@ -