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 (将#修改为@)