본문 바로가기
개발/개인

사내도서대여시스템 - 사용자정보 조회2 // 정규식

by areumtb 2016. 11. 8.
http://www.trirand.com/blog/jqgrid/jqgrid.html 

Advanced->Search Big Sets

이 방법으로 시도해보려고 한다. 




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
// 사용자 조회 
function userSearch() { // input에 무결성검사걸기 사원번호 선택했으면 숫자만 입력하라고 , 이름 선택시 문자만 입력 ㄱㄱ
    // input에서 받은 값
    var userSearchInput = $("#userSearchInput").val();
    // 사원번호, 이름  select
    var userSearch = $("#userSearch option:selected").val();


    //정규식 체크 - 숫자체크 // input박스 유효성검사를 위해 정규식 사용
    var numberCh = /^[0-9]+$/;
    //정규식체크 - 한글,영문 체크
    var charCh = /^[가-힣a-zA-Z]+$/
    
    if(userSearchInput==""){
        alert("검색할 값을 입력해주세요");
        gridView(); // 검색값이 없으면 초기 그리드를 불러온다.

 
    }else{
        if (userSearch == "DCODE") {
            // 숫자인지 체크
            if(numberCh.test(userSearchInput)){
                var DCODE = userSearchInput; // select값 = input값
            }else {
                alert("숫자만 입력해주세요");
                $("#userSearchInput").focus();
                return false;
            }
            
        } else if(userSearch == "NAME"){
            // 한글,영문 체크
            if(charCh.test(userSearchInput)){
                var NAME = userSearchInput;
            }else{
                alert("문자를 입력해주세요");
                $("#userSearchInput").focus();
                return false;
            }
        }//if
        userSearchGrid(DCODE, NAME);
    }//else
}//userSearch()
 
function userSearchGrid(DCODE, NAME) {
    //alert("DCODE :" + DCODE + " NAME: " + NAME);
    // 둘중 하나는 무도건 undifiend로 넘어옴
 
    if (DCODE == undefined) {
        $("#list2").jqGrid('setGridParam',
                {url:"/library/userSearchName.do?NAME="+NAME})
                .trigger("reloadGrid");
        
 
    } else if(NAME == undefined) {
            $("#list2").jqGrid('setGridParam',
                    {url:"/library/userSearchDcode.do?DCODE="+DCODE})
                    .trigger("reloadGrid");
        }
        
    }
 
 

cs


ㅜㅜ 저렇게 하면 되는거였음 ㅜㅜㅜ


 $("#list2").jqGrid('setGridParam',
                {url:"/library/userSearchName.do?NAME="+NAME})
                .trigger("reloadGrid");


이런식으로 url에 넘길 값을 같이 보내서 controller에서 받아서 처리하면 되는거였음. 

                                                    // 뒤에 파라미터형식으로 값을 주기에 controller에서 GET으로 받았는데 에러가 발생하였다. 

AJAX방식이라 POST로 받아야 하나보다...


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
-CONTROLLER
// 사용자검색
    //   -이름
    @RequestMapping(value = "/userSearchName.do", method = RequestMethod.POST,
            produces = "application/json; charset=UTF-8")
    public @ResponseBody List<Emp_SearchVo> userSearchName(HttpServletRequest req,
            @RequestParam String NAME) throws Exception {
 
        String name = req.getParameter("NAME"); // 여기서 한글깨짐에러가 발생하였다.
http://areumtb.tistory.com/34 요기에
        System.out.println(name);
         
        List<Emp_SearchVo> emp = null;
        emp = employeeServiceimp.userSearchName(name);  
        return emp;
        
    }
    
    //   -사원번호
    @RequestMapping(value = "/userSearchDcode.do", method = RequestMethod.POST)
    public @ResponseBody List<Emp_SearchVo> userSearchDcode(HttpServletRequest req,
            @RequestParam String DCODE) {
        
        String dcode = req.getParameter("DCODE");
        List<Emp_SearchVo> emp = null;
        
        System.out.println("dcode "+dcode);
        emp = employeeServiceimp.userSearchDcode(dcode);
        System.out.println("사원번호검색 : "+emp);
        
        return emp;
        
    }
cs


이렇게 바꿔주니 성공하였다 ㅜㅜㅜㅜ




















※정규식

 [a-z] : 소문자

[A-Z] : 대문자

[a-zA-Z] : 영문자

[가~힣] : 완성형 한글


//정규식 체크 - 숫자체크 // input박스 유효성검사를 위해 정규식 사용
    var numberCh = /^[0-9]+$/;
    //정규식체크 - 한글,영문 체크
    var charCh = /^[가-힣a-zA-Z]+$/




댓글