エンティティで正規表現パターンを使用する方法を教えてください。springMvc + Jpaでアプリケーションを実行しましたが、ここでの問題はUIのユーザー名とパスワードフィールドに空白が許可されており、空白でユーザーを作成および更新できることです。正規表現パターンの知識はありますが、Spring MVC アプリケーションでの使用方法がわかりにくいので、助けてください
前もって感謝します
エンティティで正規表現パターンを使用する方法を教えてください。springMvc + Jpaでアプリケーションを実行しましたが、ここでの問題はUIのユーザー名とパスワードフィールドに空白が許可されており、空白でユーザーを作成および更新できることです。正規表現パターンの知識はありますが、Spring MVC アプリケーションでの使用方法がわかりにくいので、助けてください
前もって感謝します
Springsの公式ドキュメントを読んでみることをお勧めします。それらはJSR-303をサポートしており、検証仕様で特定のプロパティに注釈を付けることができます。
単純なものだけが必要な場合は、いつでも値をコントローラーに送信し、そこでパターンを確認して、合格しなかった場合はエラーをスローできます。
非常に単純で大雑把な解決策は次のようになります(春の経験が豊富な人なら、これを大幅に改善できると思います)。このページにフォームBeanが存在するとします。
jsp:
<form:form *some attributes*>
<ul class="errorMessages">
<c:forEach items="${errorMessages}" var="msg">
<li>${msg}</li>
</c:forEach>
</ul>
<form:input path="myStringNotValidated" id="myStringNotValidated/>
<form:input path="myStringValidated" id="myStringValidated/>
<input type="submit" value="submit"/>
</form:form>
コントローラ:
List<String> errorMessages = new ArrayList<String>();
@RequestMapping(value="someURLYouPostedTo", method = RequestMethod.POST)
public ModelAndView save(@ModelAttribute myFormBean){
if(!*check your regex here on myFormBean.getMyStringValidated()){
errorMessages.add("Bad value on x");
// Make sure error messages is available in the model map
// Return to the same page
}
}