From d8a9b1ab83c2d2af48f45185de6803ac093883b1 Mon Sep 17 00:00:00 2001 From: WangXu10 Date: Mon, 22 May 2023 17:15:28 +0800 Subject: [PATCH] build functional i18n --- .../functional/domain/CaseReviewFollow.java | 2 - .../domain/CaseReviewFunctionalCaseUser.java | 1 - .../functional/domain/CaseReviewUser.java | 4 +- .../domain/CustomFieldTestCase.java | 3 - .../domain/FunctionalCaseAttachment.java | 7 +- .../functional/domain/FunctionalCaseBlob.java | 11 +-- .../domain/FunctionalCaseFollow.java | 1 - .../i18n/functional_en_US.properties | 73 ++++++++++++++++++- .../i18n/functional_zh_CN.properties | 72 ++++++++++++++++++ .../i18n/functional_zh_TW.properties | 72 ++++++++++++++++++ 10 files changed, 220 insertions(+), 26 deletions(-) diff --git a/backend/framework/domain/src/main/java/io/metersphere/functional/domain/CaseReviewFollow.java b/backend/framework/domain/src/main/java/io/metersphere/functional/domain/CaseReviewFollow.java index dc7c85c2f4..fe3408b28e 100644 --- a/backend/framework/domain/src/main/java/io/metersphere/functional/domain/CaseReviewFollow.java +++ b/backend/framework/domain/src/main/java/io/metersphere/functional/domain/CaseReviewFollow.java @@ -2,12 +2,10 @@ package io.metersphere.functional.domain; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import io.metersphere.validation.groups.Created; import io.metersphere.validation.groups.Updated; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.Size; import lombok.Data; import java.io.Serializable; diff --git a/backend/framework/domain/src/main/java/io/metersphere/functional/domain/CaseReviewFunctionalCaseUser.java b/backend/framework/domain/src/main/java/io/metersphere/functional/domain/CaseReviewFunctionalCaseUser.java index dd2b6a4d9f..c77c4a37cd 100644 --- a/backend/framework/domain/src/main/java/io/metersphere/functional/domain/CaseReviewFunctionalCaseUser.java +++ b/backend/framework/domain/src/main/java/io/metersphere/functional/domain/CaseReviewFunctionalCaseUser.java @@ -1,6 +1,5 @@ package io.metersphere.functional.domain; -import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.metersphere.validation.groups.Created; import io.metersphere.validation.groups.Updated; diff --git a/backend/framework/domain/src/main/java/io/metersphere/functional/domain/CaseReviewUser.java b/backend/framework/domain/src/main/java/io/metersphere/functional/domain/CaseReviewUser.java index 0eff6fb2c2..14965f3c9f 100644 --- a/backend/framework/domain/src/main/java/io/metersphere/functional/domain/CaseReviewUser.java +++ b/backend/framework/domain/src/main/java/io/metersphere/functional/domain/CaseReviewUser.java @@ -1,14 +1,12 @@ package io.metersphere.functional.domain; -import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import io.metersphere.validation.groups.Created; import io.metersphere.validation.groups.Updated; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.Size; import lombok.Data; + import java.io.Serializable; @ApiModel(value = "评审和评审人中间表") diff --git a/backend/framework/domain/src/main/java/io/metersphere/functional/domain/CustomFieldTestCase.java b/backend/framework/domain/src/main/java/io/metersphere/functional/domain/CustomFieldTestCase.java index 7369f4c950..1c1f91d3cc 100644 --- a/backend/framework/domain/src/main/java/io/metersphere/functional/domain/CustomFieldTestCase.java +++ b/backend/framework/domain/src/main/java/io/metersphere/functional/domain/CustomFieldTestCase.java @@ -1,13 +1,10 @@ package io.metersphere.functional.domain; -import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import io.metersphere.validation.groups.Created; import io.metersphere.validation.groups.Updated; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.Size; import lombok.Data; import java.io.Serializable; diff --git a/backend/framework/domain/src/main/java/io/metersphere/functional/domain/FunctionalCaseAttachment.java b/backend/framework/domain/src/main/java/io/metersphere/functional/domain/FunctionalCaseAttachment.java index 900d21e6b1..73bfacad7a 100644 --- a/backend/framework/domain/src/main/java/io/metersphere/functional/domain/FunctionalCaseAttachment.java +++ b/backend/framework/domain/src/main/java/io/metersphere/functional/domain/FunctionalCaseAttachment.java @@ -1,17 +1,14 @@ package io.metersphere.functional.domain; -import java.io.Serializable; - -import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import io.metersphere.validation.groups.Created; import io.metersphere.validation.groups.Updated; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.Size; import lombok.Data; +import java.io.Serializable; + @ApiModel(value = "功能用例和附件的中间表") @TableName("functional_case_attachment") @Data diff --git a/backend/framework/domain/src/main/java/io/metersphere/functional/domain/FunctionalCaseBlob.java b/backend/framework/domain/src/main/java/io/metersphere/functional/domain/FunctionalCaseBlob.java index 3d46733f00..edc670ad75 100644 --- a/backend/framework/domain/src/main/java/io/metersphere/functional/domain/FunctionalCaseBlob.java +++ b/backend/framework/domain/src/main/java/io/metersphere/functional/domain/FunctionalCaseBlob.java @@ -1,11 +1,8 @@ package io.metersphere.functional.domain; -import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import io.metersphere.validation.groups.Updated; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import jakarta.validation.constraints.NotBlank; import lombok.Data; import java.io.Serializable; @@ -13,15 +10,9 @@ import java.io.Serializable; @ApiModel(value = "功能用例") @TableName("functional_case_blob") @Data -public class FunctionalCaseBlob implements Serializable { +public class FunctionalCaseBlob extends FunctionalCase implements Serializable { private static final long serialVersionUID = 1L; - @TableId - @NotBlank(message = "{functional_case_blob.functional_case_id.not_blank}", groups = {Updated.class}) - @ApiModelProperty(name = "功能用例ID", required = true, allowableValues = "range[1, 50]") - private String functionalCaseId; - - @ApiModelProperty(name = "用例步骤(JSON),step_model 为 0 时启用", required = false) private String steps; diff --git a/backend/framework/domain/src/main/java/io/metersphere/functional/domain/FunctionalCaseFollow.java b/backend/framework/domain/src/main/java/io/metersphere/functional/domain/FunctionalCaseFollow.java index 3ac8825887..2601595670 100644 --- a/backend/framework/domain/src/main/java/io/metersphere/functional/domain/FunctionalCaseFollow.java +++ b/backend/framework/domain/src/main/java/io/metersphere/functional/domain/FunctionalCaseFollow.java @@ -1,6 +1,5 @@ package io.metersphere.functional.domain; -import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.metersphere.validation.groups.Updated; import io.swagger.annotations.ApiModel; diff --git a/backend/framework/sdk/src/main/resources/i18n/functional_en_US.properties b/backend/framework/sdk/src/main/resources/i18n/functional_en_US.properties index 653c86b42b..4b453b0699 100644 --- a/backend/framework/sdk/src/main/resources/i18n/functional_en_US.properties +++ b/backend/framework/sdk/src/main/resources/i18n/functional_en_US.properties @@ -47,4 +47,75 @@ functional_case_module.pos.length_range=The order length under the same node mus functional_case_module.pos.not_blank=The order under the same node cannot be empty functional_case_module.create_user.length_range=Creator length must be between 1 and 50 functional_case_module.create_user.not_blank=Creator cannot be empty - +#module:FunctionalCaseAttachment +functional_case_attachment.functional_case_id.not_blank=Function case ID cannot be empty +functional_case_attachment.file_id.not_blank=File ID cannot be empty +#module:FunctionalCaseFollow +functional_case_follow.case_id.not_blank=Function case ID cannot be empty +functional_case_follow.follow_id.not_blank=Follow ID cannot be empty +#module:FunctionalCaseRelationshipEdge +functional_case_relationship_edge.id.not_blank=ID cannot be empty +functional_case_relationship_edge.source_id.length_range=The length of the source ID must be between 1 and 50 +functional_case_relationship_edge.source_id.not_blank=Source ID cannot be empty +functional_case_relationship_edge.target_id.length_range=The length of the target ID must be between 1 and 50 +functional_case_relationship_edge.target_id.not_blank=Target ID cannot be empty +functional_case_relationship_edge.graph_id.length_range=The length of the graph ID must be between 1 and 50 +functional_case_relationship_edge.graph_id.not_blank=Graph ID cannot be empty +functional_case_relationship_edge.create_user.length_range=Creator length must be between 1 and 50 +functional_case_relationship_edge.create_user.not_blank=Creator cannot be empty +#module:FunctionalCaseTest +functional_case_test.id.not_blank=ID cannot be empty +functional_case_test.functional_case_id.length_range=The length of the function case ID must be between 1 and 50 +functional_case_test.functional_case_id.not_blank=Function case ID cannot be empty +functional_case_test.test_id.length_range=The length of the test ID must be between 1 and 50 +functional_case_test.test_id.not_blank=Test ID cannot be empty +functional_case_test.test_type.length_range=The length of the test type must be between 1 and 64 +functional_case_test.test_type.not_blank=Test type cannot be empty +#module:MinderExtraNode +minder_extra_node.id.not_blank=ID cannot be empty +minder_extra_node.parent_id.length_range=The length of the parent node ID must be between 1 and 50 +minder_extra_node.parent_id.not_blank=Parent node ID cannot be empty +minder_extra_node.group_id.length_range=The length of the group ID must be between 1 and 50 +minder_extra_node.group_id.not_blank=Group ID cannot be empty +minder_extra_node.type.length_range=The length of the node type must be between 1 and 30 +minder_extra_node.type.not_blank=Node type cannot be empty +#module:CaseReview +case_review.id.not_blank=ID cannot be empty +case_review.name.length_range=The name length must be between 1 and 200 +case_review.name.not_blank=Name cannot be empty +case_review.status.length_range=The length of the review status must be between 1 and 64 +case_review.status.not_blank=Review status cannot be empty +case_review.project_id.length_range=The length of the project ID must be between 1 and 50 +case_review.project_id.not_blank=Project ID cannot be empty +case_review.create_user.length_range=Creator length must be between 1 and 50 +case_review.create_user.not_blank=Creator cannot be empty +case_review.review_pass_rule.length_range=The length of the review rule must be between 1 and 64 +case_review.review_pass_rule.not_blank=Review rule cannot be empty +#module:CaseReviewUser +case_review_user.review_id.not_blank=Review ID cannot be empty +case_review_user.user_id.not_blank=Reviewer ID cannot be empty +#module:CaseReviewFunctionalCase +case_review_functional_case.id.not_blank=ID cannot be empty +case_review_functional_case.review_id.length_range=The length of the review ID must be between 1 and 50 +case_review_functional_case.review_id.not_blank=Review ID cannot be empty +case_review_functional_case.case_id.length_range=The length of the use case ID must be between 1 and 50 +case_review_functional_case.case_id.not_blank=The use case ID cannot be empty +case_review_functional_case.status.length_range=The length of the review status must be between 1 and 64 +case_review_functional_case.status.not_blank=Review status cannot be empty +case_review_functional_case.create_user.length_range=Creator length must be between 1 and 50 +case_review_functional_case.create_user.not_blank=Creator cannot be empty +case_review_functional_case.deleted.length_range=The length of whether the associated use case is placed in the recycle bin must be between 1 and 1 +case_review_functional_case.deleted.not_blank=Whether the associated use case is placed in the recycle bin cannot be empty +#module:CaseReviewFunctionalCaseUser +case_review_functional_case_user.case_id.length_range=The ID length of the functional use case and review intermediate table must be between 1 and 50 +case_review_functional_case_user.case_id.not_blank=The ID of the functional use case and review intermediate table cannot be empty +case_review_functional_case_user.review_id.length_range=The length of the review ID must be between 1 and 50 +case_review_functional_case_user.review_id.not_blank=Review ID cannot be empty +case_review_functional_case_user.user_id.length_range=Reviewer ID length must be between 1 and 50 +case_review_functional_case_user.user_id.not_blank=Reviewer ID cannot be empty +#module:CaseReviewFollow +case_review_follow.review_id.not_blank=Review ID cannot be empty +case_review_follow.follow_id.not_blank=follower cannot be empty +#module:CustomFieldTestCase +custom_field_test_case.resource_id.not_blank=Resource ID cannot be empty +custom_field_test_case.field_id.not_blank=Field ID cannot be empty \ No newline at end of file diff --git a/backend/framework/sdk/src/main/resources/i18n/functional_zh_CN.properties b/backend/framework/sdk/src/main/resources/i18n/functional_zh_CN.properties index 80cfd9284d..d18ad0c13c 100644 --- a/backend/framework/sdk/src/main/resources/i18n/functional_zh_CN.properties +++ b/backend/framework/sdk/src/main/resources/i18n/functional_zh_CN.properties @@ -47,3 +47,75 @@ functional_case_module.pos.length_range=同一节点下的顺序长度必须在1 functional_case_module.pos.not_blank=同一节点下的顺序不能为空 functional_case_module.create_user.length_range=创建人长度必须在1-50之间 functional_case_module.create_user.not_blank=创建人不能为空 +#module:FunctionalCaseAttachment +functional_case_attachment.functional_case_id.not_blank=功能用例ID不能为空 +functional_case_attachment.file_id.not_blank=文件的ID不能为空 +#module:FunctionalCaseFollow +functional_case_follow.case_id.not_blank=功能用例ID不能为空 +functional_case_follow.follow_id.not_blank=关注人ID不能为空 +#module:FunctionalCaseRelationshipEdge +functional_case_relationship_edge.id.not_blank=ID不能为空 +functional_case_relationship_edge.source_id.length_range=源节点的ID长度必须在1-50之间 +functional_case_relationship_edge.source_id.not_blank=源节点的ID不能为空 +functional_case_relationship_edge.target_id.length_range=目标节点的ID长度必须在1-50之间 +functional_case_relationship_edge.target_id.not_blank=目标节点的ID不能为空 +functional_case_relationship_edge.graph_id.length_range=所属关系图的ID长度必须在1-50之间 +functional_case_relationship_edge.graph_id.not_blank=所属关系图的ID不能为空 +functional_case_relationship_edge.create_user.length_range=创建人长度必须在1-50之间 +functional_case_relationship_edge.create_user.not_blank=创建人不能为空 +#module:FunctionalCaseTest +functional_case_test.id.not_blank=ID不能为空 +functional_case_test.functional_case_id.length_range=功能用例ID长度必须在1-50之间 +functional_case_test.functional_case_id.not_blank=功能用例ID不能为空 +functional_case_test.test_id.length_range=其他类型用例ID长度必须在1-50之间 +functional_case_test.test_id.not_blank=其他类型用例ID不能为空 +functional_case_test.test_type.length_range=用例类型长度必须在1-64之间 +functional_case_test.test_type.not_blank=用例类型不能为空 +#module:MinderExtraNode +minder_extra_node.id.not_blank=ID不能为空 +minder_extra_node.parent_id.length_range=父节点的ID长度必须在1-50之间 +minder_extra_node.parent_id.not_blank=父节点的ID不能为空 +minder_extra_node.group_id.length_range=项目ID长度必须在1-50之间 +minder_extra_node.group_id.not_blank=项目ID不能为空 +minder_extra_node.type.length_range=类型长度必须在1-30之间 +minder_extra_node.type.not_blank=类型不能为空 +#module:CaseReview +case_review.id.not_blank=ID不能为空 +case_review.name.length_range=名称长度必须在1-200之间 +case_review.name.not_blank=名称不能为空 +case_review.status.length_range=评审状态长度必须在1-64之间 +case_review.status.not_blank=评审状态不能为空 +case_review.project_id.length_range=项目ID长度必须在1-50之间 +case_review.project_id.not_blank=项目ID不能为空 +case_review.create_user.length_range=创建人长度必须在1-50之间 +case_review.create_user.not_blank=创建人不能为空 +case_review.review_pass_rule.length_range=评审规则长度必须在1-64之间 +case_review.review_pass_rule.not_blank=评审规则不能为空 +#module:CaseReviewUser +case_review_user.review_id.not_blank=评审ID不能为空 +case_review_user.user_id.not_blank=评审人ID不能为空 +#module:CaseReviewFunctionalCase +case_review_functional_case.id.not_blank=ID不能为空 +case_review_functional_case.review_id.length_range=评审ID长度必须在1-50之间 +case_review_functional_case.review_id.not_blank=评审ID不能为空 +case_review_functional_case.case_id.length_range=用例ID长度必须在1-50之间 +case_review_functional_case.case_id.not_blank=用例ID不能为空 +case_review_functional_case.status.length_range=评审状态长度必须在1-64之间 +case_review_functional_case.status.not_blank=评审状态不能为空 +case_review_functional_case.create_user.length_range=创建人长度必须在1-50之间 +case_review_functional_case.create_user.not_blank=创建人不能为空 +case_review_functional_case.deleted.length_range=关联的用例是否放入回收站长度必须在1-1之间 +case_review_functional_case.deleted.not_blank=关联的用例是否放入回收站不能为空 +#module:CaseReviewFunctionalCaseUser +case_review_functional_case_user.case_id.length_range=功能用例和评审中间表的ID长度必须在1-50之间 +case_review_functional_case_user.case_id.not_blank=功能用例和评审中间表的ID不能为空 +case_review_functional_case_user.review_id.length_range=评审ID长度必须在1-50之间 +case_review_functional_case_user.review_id.not_blank=评审ID不能为空 +case_review_functional_case_user.user_id.length_range=评审人ID长度必须在1-50之间 +case_review_functional_case_user.user_id.not_blank=评审人ID不能为空 +#module:CaseReviewFollow +case_review_follow.review_id.not_blank=评审ID不能为空 +case_review_follow.follow_id.not_blank=关注人不能为空 +#module:CustomFieldTestCase +custom_field_test_case.resource_id.not_blank=资源ID不能为空 +custom_field_test_case.field_id.not_blank=字段ID不能为空 \ No newline at end of file diff --git a/backend/framework/sdk/src/main/resources/i18n/functional_zh_TW.properties b/backend/framework/sdk/src/main/resources/i18n/functional_zh_TW.properties index 7024b2e04c..081165dab2 100644 --- a/backend/framework/sdk/src/main/resources/i18n/functional_zh_TW.properties +++ b/backend/framework/sdk/src/main/resources/i18n/functional_zh_TW.properties @@ -47,3 +47,75 @@ functional_case_module.pos.length_range=同一節點下的順序長度必須在1 functional_case_module.pos.not_blank=同一節點下的順序不能為空 functional_case_module.create_user.length_range=創建人長度必須在1-50之間 functional_case_module.create_user.not_blank=創建人不能為空 +#module:FunctionalCaseAttachment +functional_case_attachment.functional_case_id.not_blank=功能用例ID不能爲空 +functional_case_attachment.file_id.not_blank=文件ID不能爲空 +#module:FunctionalCaseFollow +functional_case_follow.case_id.not_blank=功能用例ID不能爲空 +functional_case_follow.follow_id.not_blank=關注人ID不能爲空 +#module:FunctionalCaseRelationshipEdge +functional_case_relationship_edge.id.not_blank=ID不能為空 +functional_case_relationship_edge.source_id.length_range=源節點的ID長度必須在1-50之间 +functional_case_relationship_edge.source_id.not_blank=源節點的ID不能爲空 +functional_case_relationship_edge.target_id.length_range=目標節點的ID長度必須在1-50之間 +functional_case_relationship_edge.target_id.not_blank=目標節點的ID不能為空 +functional_case_relationship_edge.graph_id.length_range=所屬關係圖的ID長度必須在1-50之間 +functional_case_relationship_edge.graph_id.not_blank=所屬關係圖的ID不能為空 +functional_case_relationship_edge.create_user.length_range=創建人長度必須在1-50之間 +functional_case_relationship_edge.create_user.not_blank=創建人不能為空 +#module:FunctionalCaseTest +functional_case_test.id.not_blank=ID不能為空 +functional_case_test.functional_case_id.length_range=功能用例ID長度必須在1-50之間 +functional_case_test.functional_case_id.not_blank=功能用例ID不能為空 +functional_case_test.test_id.length_range=其他類型用例ID長度必須在1-50之間 +functional_case_test.test_id.not_blank=其他類型用例ID不能為空 +functional_case_test.test_type.length_range=用例類型長度必須在1-64之間 +functional_case_test.test_type.not_blank=用例類型不能為空 +#module:MinderExtraNode +minder_extra_node.id.not_blank=ID不能為空 +minder_extra_node.parent_id.length_range=父節點的ID長度必須在1-50之間 +minder_extra_node.parent_id.not_blank=父節點的ID不能為空 +minder_extra_node.group_id.length_range=項目ID長度必須在1-50之間 +minder_extra_node.group_id.not_blank=項目ID不能為空 +minder_extra_node.type.length_range=類型長度必須在1-30之間 +minder_extra_node.type.not_blank=類型不能為空 +#module:CaseReview +case_review.id.not_blank=ID不能為空 +case_review.name.length_range=名稱長度必須在1-200之間 +case_review.name.not_blank=名稱不能為空 +case_review.status.length_range=評審狀態長度必須在1-64之間 +case_review.status.not_blank=評審狀態不能為空 +case_review.project_id.length_range=項目ID長度必須在1-50之間 +case_review.project_id.not_blank=項目ID不能為空 +case_review.create_user.length_range=創建人長度必須在1-50之間 +case_review.create_user.not_blank=創建人不能為空 +case_review.review_pass_rule.length_range=評審規則長度必須在1-64之間 +case_review.review_pass_rule.not_blank=評審規則不能為空 +#module:CaseReviewUser +case_review_user.review_id.not_blank=評審ID不能為空 +case_review_user.user_id.not_blank=評審人ID不能為空 +#module:CaseReviewFunctionalCase +case_review_functional_case.id.not_blank=ID不能為空 +case_review_functional_case.review_id.length_range=評審ID長度必須在1-50之間 +case_review_functional_case.review_id.not_blank=評審ID不能為空 +case_review_functional_case.case_id.length_range=用例ID長度必須在1-50之間 +case_review_functional_case.case_id.not_blank=用例ID不能為空 +case_review_functional_case.status.length_range=評審狀態長度必須在1-64之間 +case_review_functional_case.status.not_blank=評審狀態不能為空 +case_review_functional_case.create_user.length_range=創建人長度必須在1-50之間 +case_review_functional_case.create_user.not_blank=創建人不能為空 +case_review_functional_case.deleted.length_range=關聯的用例是否放入回收站長度必須在1-1之間 +case_review_functional_case.deleted.not_blank=關聯的用例是否放入回收站不能為空 +#module:CaseReviewFunctionalCaseUser +case_review_functional_case_user.case_id.length_range=功能用例和評審中間錶的ID長度必須在1-50之間 +case_review_functional_case_user.case_id.not_blank=功能用例和評審中間錶的ID不能為空 +case_review_functional_case_user.review_id.length_range=評審ID長度必須在1-50之間 +case_review_functional_case_user.review_id.not_blank=評審ID不能為空 +case_review_functional_case_user.user_id.length_range=評審人ID長度必須在1-50之間 +case_review_functional_case_user.user_id.not_blank=評審人ID不能為空 +#module:CaseReviewFollow +case_review_follow.review_id.not_blank=評審ID不能為空 +case_review_follow.follow_id.not_blank=關注人不能為空 +#module:CustomFieldTestCase +custom_field_test_case.resource_id.not_blank=資源ID不能為空 +custom_field_test_case.field_id.not_blank=字段ID不能為空 \ No newline at end of file