SpringMVC框架之后台验证

导入依赖

<!-- 校验-->
        <dependency>
            <groupId>javax.validation</groupId>
            <artifactId>validation-api</artifactId>
            <version>1.1.0.Final</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-validator</artifactId>
            <version>5.1.2.Final</version>
        </dependency>
    </dependencies>

导入标签声明

在jsp导入下面的标签声明

<%@taglib prefix="s" uri="http://www.springframework.org/tags/form"%>

Controller层

前往添加页面,需要用model带一个college

@RequestMapping("/addPage")
    public String addPage(Model model) {
        // 对于需要校验数据的页面,带一个对象过去,这个对象出现在
        // form的modelAttribute属性中
        // model.addAttribute("college", new College());
        // 下面的写法用的是类名的名称,首字母小写作为它的key
        model.addAttribute(new College());
        return "page/college/collegeAdd";
    }

在添加方法中,在需要判断的参数前加@Validated注释,在后面紧跟着BindingResult 。

@RequestMapping("/add")
    public String add(@Validated College college, BindingResult br) {
        if (br.hasErrors()) {
            return "page/college/collegeAdd";
        }
        boolean result = collegeService.add(college);
        if (result) {
            return "page/college/collegeManager";
        } else {
            return "page/college/collegeAdd";
        }
    }

bean层

在bean层需要验证的属性前加@Pattern注释。里面使用正则表达式验证的。如需其他形式验证,可以参考下面的图。

    @Pattern(regexp = "^[\u4E00-\u9FA5]{2,15}$",message = "院系名称只能是2-15个汉字")
    private String collegeName;

在这里插入图片描述### 前端
1.在<‘’form>前加<s:form>
2.增加 modelAttribute=“college”
3.在需要判断的属性下,加入
<s:errors path=“xxx”></s:errors> xxx是Controller中Model带来的 名字

<s:form class="layui-form" action="/college/add" id="myForm" method="post" modelAttribute="college">
        <%--告诉Servlet是增加方法--%>
        <input type="hidden" name="method" value="add">
        <fieldset class="layui-elem-field layui-field-title">
            <legend>添加院系</legend>
        </fieldset>
        <div class="layui-form-item">
            <label class="layui-form-label">院系代号<sub>*</sub></label>
            <div class="layui-input-block">
                <input type="text" name="collegeNumber" lay-verify="collegeNumber" autocomplete="off"
                       placeholder="请输入院系代号"
                       class="layui-input">
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label">院系名称<sub>*</sub></label>
            <div class="layui-input-block">
                <input type="text" name="collegeName" lay-verify="collegeName" autocomplete="off" placeholder="请输入院系名称"
                       class="layui-input">
                <s:errors path="collegeName"></s:errors>
            </div>
        </div>
        <div class="layui-form-item layui-form-text">
            <label class="layui-form-label">备注</label>
            <div class="layui-input-block">
                <textarea placeholder="请输入内容" class="layui-textarea" name="remark" lay-verify="remark"></textarea>
            </div>
        </div>
        <div class="layui-form-item">
            <div class="layui-input-block">
                <button class="layui-btn" lay-submit lay-filter="saveBtn" id="saveBtn">确认保存</button>
                <button class="layui-btn layui-btn-normal" type="reset">重置</button>
            </div>
        </div>
    </s:form>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值