在Spring控制器中使用@Valid调用验证器automic的问题

时间:2016-12-26 20:08:56

标签: spring validation spring-mvc

我正在尝试使用@Valid注释从控制器调用验证器,但控件不会使用验证器并在没有验证的情况下继续进行。

控制器

--DECLARE VARS
declare @currentMetadataDocumentSetId int = 1, --Ohio
    @newMetadataDocumentSetid int = 3; --PA

--CLEANUP
IF OBJECT_ID('tempdb..#tempFileRowMap') IS NOT NULL
  /*Then it exists*/
  DROP TABLE #tempFileRowMap

--Remove existing file row maps.
delete from file_row_map where metadata_document_set_id = @newMetadataDocumentSetid;


--Create a temptable to hold data to be copied.
Select [edi_document_code], 
    [functional_group], 
    [description], 
    3 as [metadata_document_set_id], 
    [document_name], 
    [incoming_file_row_subtype], 
    [metadata_document_id], 
    [document_subcode], 
    [outgoing_file_row_subtype], 
    [asi_type_code], 
    [asi_action_code], 
    [metadata_document_set],
    file_row_map_id as orig_file_row_map_id 
into #tempFileRowMap
from file_row_map fileRowMap
where metadata_document_set_id = @currentMetadataDocumentSetId;


--Select * from #tempFileRowMap;
Insert into file_row_map select
[edi_document_code], 
[functional_group], 
[description], 
[metadata_document_set_id], 
[document_name], 
[incoming_file_row_subtype], 
[metadata_document_id], 
[document_subcode], 
[outgoing_file_row_subtype], 
[asi_type_code], 
[asi_action_code], 
[metadata_document_set]
from #tempFileRowMap

--Show Results
Select * from file_row_map fileRowMap where fileRowMap.metadata_document_set_id = @newMetadataDocumentSetid


--Update Detail
Select
[file_row_map_id], 
[file_row_column], 
[element_code], 
[element_metadata_id], 
[col_description], 
[example], 
[translate], 
[is_used], 
[is_mapped], 
[page_num], 
[subcode], 
[qualifier], 
[loop_code], 
[loop_subcode], 
[default_value], 
[delete_flag]
into #tempFileRowMapDetail
from [dbo].[file_row_map_detail] d
left join #tempFileRowMap m
on m.orig_file_row_map_id = d.file_row_map_id

select * from #tempFileRowMapDetail

验证

@Controller
@RequestMapping(value="/event")
public class EventController {

@Autowired
private EventService eventService;

@Autowired
EventValidator eventValidator;

@InitBinder
private void initBinder(WebDataBinder binder) {
    binder.setValidator(eventValidator);
}

@RequestMapping(value="/add_event",method = RequestMethod.POST,produces=MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
public ResponseEntity<AjaxJSONResponse> postAddEventForm(@Valid @RequestPart("event") Event event, MultipartHttpServletRequest request) {
    Boolean inserted = eventService.addEvent(event);
    String contextPath = request.getContextPath();
    String redirectURL = StringUtils.isEmpty(contextPath)?"/event":contextPath+"/event";
    return new ResponseEntity<AjaxJSONResponse>(new AjaxJSONResponse(inserted,"Event Added Successfully",redirectURL), HttpStatus.OK);
}

}

请帮忙。

提前感谢

0 个答案:

没有答案