微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Spring Boot + Thymeleaf下拉框验证将在提交时重新填充输入文本字段

如何解决Spring Boot + Thymeleaf下拉框验证将在提交时重新填充输入文本字段

我有一个索引页面,该页面接受一个值(例如手机号码)并通过下拉框进行选择。我想强迫用户从下拉框中选择内容,而不仅仅是接受第一个选项作为认值。为此,我在下拉框中添加了“请选择...”选项。如果按下了提交按钮,则受控。

我的控制器的一部分与此类似:

@PostMapping("/")
public ModelAndView validateSerialNum(@modelattribute("device") Device d,HttpServletRequest request
                                    ) {
        
    ModelAndView mav = new ModelAndView();

    if ("none_selected".equalsIgnoreCase(d.getSupportAction())) {
        log.trace("=== No \"I Would Like To...\" selection was made ===");
        System.out.println("DEVICE Object: " + d.toString());
        mav.addobject("device",d);
        mav.addobject("allSupportActions",getSupportActions());
        mav.addobject("RobotError","You have not selected a valid action...");
        mav.setViewName("index");
    }

...

我的索引页面上的表单与此类似:

<form th:action="@{/}" th:object="${device}" method="post">
    <div class="form-group" id="tmpBody">
        <div class="form-row">
            <div class="form-group col-md-2">
                <label for="mobileNum">Mobile Number</label>
            </div>
            <div class="form-group  col-md-6">
                <input type="text" class="form-control" id="mobileNum" autofocus="autofocus" name="mobileNum" th.text="*{mobileNum}" th.field="*{mobileNum}"/>
            </div>
        </div>
        <div class="form-row">
            <div class="form-group col-md-2">
                <label for="inputState">I would like to:</label>
            </div>
            <div class="form-group col-md-6">
                <select class="form-control" name="supportAction">
                     <option th:value="none_selected" selected="true">Please Select ...</option>
                     <option th:value="actOne">Action One</option>
                     <option th:value="actTwo">Action Two</option>
                 </select>
            </div>
        </div>
        
...
        <div class="form-group">
            <button class="btn btn-primary" type="submit">Submit</button>
        </div>
    </div>
</form>

我想要实现的是,如果按下了提交按钮,但是未选择“动作一”或“动作二”,我想再次显示索引页面时出现错误(此部分工作正常)但是我无法理解的是,我想填充先前在mobileNum字段中输入的手机号码。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。