0.頁面加入支持
- 由於項目中用到了thymeleaf模板引擎,所以下面代碼需要在頁碼頭文件中加入命名約束
- 加入semantic UI 的css和jQuery支持
- [CSS] https://cdn.jsdelivr.net/npm/semantic-ui@2.4.2/dist/semantic.min.css
- [jQuery] <script src="https://cdn.jsdelivr.net/npm/jquery@3.2.1/dist/jquery.min.js"></script>
- [semantic.js] <script src="https://cdn.jsdelivr.net/npm/semantic-ui@2.4.2/dist/semantic.min.js"></script>
1.前端“admin_editUser.html”
<html lang="en" xmlns:th="http://www.w3.org/1999/xhtml"> <head> <meta charset="UTF-8"> <title>semantic UI表單驗證</title> </head>
頁面body部分代碼
<form class="ui large form" > <div class="ui segment"> <div class="field"> <div class="ui left icon input"> <i class="user icon"></i> <input type="hidden" th:value="${userOne.id}" name="id"> <input type="text" name="userName" th:value="${userOne.userName}" placeholder="用戶名"> </div> </div> <div class="field"> <div class="ui left icon input"> <i class="lock icon"></i> <input type="password" name="passWord" placeholder="新密碼"> </div> </div> <div class="field"> <div class="ui left icon input"> <i class="lock icon"></i> <input type="password" name="repassWord" placeholder="再次輸入"> </div> </div> <div class="field"> <div class="ui left icon input"> <i class="envelope icon"></i> <input type="email" name="email" th:value="${userOne.email}" placeholder="郵箱"> </div> </div> <div class="field"> <div class="ui left icon input"> <i class="images icon"></i> <input type="text" name="avatar" th:value="${userOne.avatar}" placeholder="頭像URL"> </div> </div> <button class="ui fluid large teal submit button" name="sub_btn" style="text-align: center">修 改</button> </div> <!--前端:存放錯誤記錄提示--> <div class="ui mini error message"></div> </form>
2.表單驗證
<script>
/*表單驗證*/
$(document)
.ready(function() {
$('.ui.form')
.form({
fields: {
userName: { //userName是表單name屬性值
identifier : 'userName',
rules: [
{
type : 'empty',
prompt : '用戶名不能為空'
}
]
},
passWord: {
identifier : 'passWord', //表單中的name屬性值
rules: [
{
type : 'length[6]',
prompt : '密碼必須至少6個字符'
}
]
},
repassWord:{
identifier : 'repassWord',
rules: [
{
type : 'match[passWord]', //match[name屬性值]
prompt : '兩次的密碼必須一致'
}
]
},
email:{
identifier:'email',
rules:[
{
type : 'email',
prompt : '請輸入合法郵箱'
}
]
},
avatar:{
identifier:'avatar',
rules:[
{
type:'url',
prompt:'URL地址錯誤'
}
]
}
}
});
});
</script>
