ssm+bootstrap验证练习01注册验证(方法二)--代码实现

来源:互联网 发布:golang python 编辑:程序博客网 时间:2024/06/06 03:28

reg.jsp


<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'index.jsp' starting page</title>
<script src="static/js/jquery-1.10.1.js"></script>


    <script src="static/bootstrap-3.3.7-dist/js/bootstrap.min.js"></script>
    <link href="static/bootstrap-3.3.7-dist/css/bootstrap.min.css" rel="stylesheet" />

     <!--验证插件可以到官网上下载-->
    <script src="static/bootstrapvalidator/dist/js/bootstrapValidator.min.js"></script>
    <link href="static/bootstrapvalidator/dist/css/bootstrapValidator.min.css" rel="stylesheet" />


  <script type="text/javascript">
  $(function(){/* 文档加载,执行一个函数*/
     $('#defaultForm')
     .bootstrapValidator({
         message: 'This value is not valid',
         feedbackIcons: {/*input状态样式图片*/
             valid: 'glyphicon glyphicon-ok',
             invalid: 'glyphicon glyphicon-remove',
             validating: 'glyphicon glyphicon-refresh'
         },
         fields: {/*验证:规则*/
             username: {//验证input项:验证规则
                 message: 'The username is not valid',
                
                 validators: {
                     notEmpty: {//非空验证:提示消息
                         message: '用户名不能为空'
                     },
                     stringLength: {
                         min: 3,
                         max: 6,
                         message: '用户名必须是3--6位'
                     },
                     threshold :  3, //有6字符以上才发送ajax请求,(input中输入一个字符,插件会向服务器发送一次,设置限制,6字符以上才开始)
                     remote: {//ajax验证。server result:{"valid",true or false} 向服务发送当前input name值,获得一个json数据。例表示正确:{"valid",true}  
                         url: 'user/exist.do',//验证地址
                         message: '用户已存在',//提示消息
                         delay :  2000,//每输入一个字符,就发ajax请求,服务器压力还是太大,设置2秒发送一次ajax(默认输入一个字符,提交一次,服务器压力太大)
                         type: 'POST',//请求方式
                         /**自定义提交数据,默认值提交当前input value
                          *  data: function(validator) {
                               return {
                                   password: $('[name="passwordNameAttributeInYourForm"]').val(),
                                   whatever: $('[name="whateverNameAttributeInYourForm"]').val()
                               };
                            }
                          */
                          data: function(validator) {
                               return {
                                   username: $("[name='username']").val()
                                   
                                                               };
                            }
                     }, 
                    
                 }
             },
             password: {
                 message:'密码无效',
                 validators: {
                     notEmpty: {
                         message: '密码不能为空'
                     },
                     stringLength: {
                         min: 6,
                         max: 30,
                         message: '密码长度必须在6到30之间'
                     },
                 }
             },
             phone: {
                 message: 'The phone is not valid',
                 validators: {
                     notEmpty: {
                         message: '手机号码不能为空'
                     },
                     stringLength: {
                         min: 11,
                         max: 11,
                         message: '请输入11位手机号码'
                     },
                     regexp: {
                         regexp: /^1[3|5|8]{1}[0-9]{9}$/,
                         message: '请输入正确的手机号码'
                     }
                 }
             },
            
         }
     });


});
</script>
  <body>
  <form id="defaultForm" role="form" class="form-signin" action="user/user.do"
                method="post">
                <h2 class="form-signin-heading">请输入注册信息:</h2>


                <div class="form-group">
                    <label for="username">用户名:</label><input class="form-control"
                        type="text" name="username" id="username" />
                </div>
                <div class="form-group">
                    <label for="password">密码:</label><input class="form-control"
                        type="password" name="password" id="password"/>
                </div>
                
                <div class="form-group">
                    <label for="phone">手机号码:</label><input class="form-control"
                        type="text" name="phone" id="phone" />
                </div>
                <div class="form-group">
                    <label for="email">address:</label><input class="form-control"
                        type="text" name="user_address" id="email" />
                </div>
                <input class="form-control"
                        type="text" name="user_id" value="${id }" />
                <div class="form-group">
                        <button class="btn btn-lg btn-primary btn-block" type="submit">确认注册</button>
                         </div>
            </form>
  </body>
</html>

====================================

controller类


@Controller
@RequestMapping("user")
public class ControllerTest {


/*

* f)注册成功后,显示登录页面,用户登录,显示用户地址信息(10分)
           并且右上角显示当前登陆用户(session)
*/
@Autowired
private UserService service;


//添加的方法
@RequestMapping("user")
public String insert(Address a,User user,HttpSession session,Model model){
service.add(user);
a.setMid(user.getId());
service.insert(a);
session.setAttribute("address",a.getUser_address());
return "login";
}

@RequestMapping("exist")
@ResponseBody
public String exist(String username){
System.out.println("-------------"+username);
boolean result = true;
boolean exist = service.exist(username);
if(exist){
result=false;
}

                 //定义一个Map集合
 Map<String, Boolean> map = new HashMap<>();
       map.put("valid", result);

                //创建对象
     ObjectMapper mapper = new ObjectMapper();
       String resultString = "";
           try {

                         //这里是remote的方法,可以去查找相关的方法
resultString = mapper.writeValueAsString(map);
} catch (JsonGenerationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JsonMappingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
           return resultString;
      
}
}




原创粉丝点击