本文轉自:https://www.cnblogs.com/nele/p/5493414.html
作者:@nele
本文為作者原創,轉載請注明出處:https://www.cnblogs.com/nele/p/5493414.html
目錄
有這樣的一個場景,我們在提交form表單的時候 可能要做一些驗證,比如判斷是不是為空,電話的格式驗證,郵箱的格式驗證等等,手寫起來也是可以得。
但是今天我介紹一個bootstrap插件簡化開發。就是bootstrapValidator.js。
直接上手寫代碼。
1。首先 jquery,bootstrap 以及bootstrapValidator(地址https://github.com/nghuuphuoc/bootstrapvalidator)
2.引用jquery bootstrap bootstrapValidator(css ,js文件都需要引用)
3.代碼
<form action="/Account/Register" method="post" id="registerForm"> @Html.AntiForgeryToken() <div style="margin:0 auto; width:400px;"> <div class="form-group"> <label> Email:</label> <input type="text" name="email" id="txtEmail" class="form-control" /> </div> <div class="form-group"> <label> 用戶名:</label> <input type="text" name="Username" id="txtRegisterUsername" class="form-control" /> </div> <div class="form-group"> <label> 密 碼:</label> <input type="password" name="Password" id="txtRegisterPassword" class="form-control" /> </div> <div class="form-group"> <label> 密碼重復:</label> <input type="password" name="Confirm" id="txtConfirm" class="form-control" /> </div> <button type="submit" id="btnRegister" class="btn btn-primary">注冊</button> <button type="reset" class="btn btn-default" id="btnRegister">重置</button> </div> </form>
重點就在下面:
$('#registerForm').bootstrapValidator({ message: '這個值沒有被驗證', feedbackIcons: { valid: 'glyphicon glyphicon-ok', invalid: 'glyphicon glyphicon-remove', validating: 'glyphicon glyphicon-refresh' }, fields: { email: { validators: { notEmpty: { message: '郵箱是必填項' }, emailAddress: { message: '郵箱格式正確' } } }, Username: { message: '用戶名還沒有驗證', validators: { notEmpty: { message: '用戶名不能為空' }, stringLength: { min: 1, max: 16, message: '用戶名長度在1到16位之間' } } }, Password: { message: '密碼還沒有驗證', validators: { notEmpty: { message: '密碼不能為空' }, stringLength: { min: 6, max: 16, message: '密碼長度在6到16之間' }, different: { field: 'Username', message: '密碼不能和用戶名相同' } } }, Confirm: { message: '密碼重復還沒有驗證', validators: { notEmpty: { message: '密碼重復不能為空' }, stringLength: { min: 6, max: 16, message: '密碼長度在6到16之間' }, identical: { field: 'Password', message: '兩次密碼不同請重新輸入' } } } } }).on('success.form.bv', function (e) { // Prevent form submission e.preventDefault(); // Get the form instance var $form = $(e.target); // Get the BootstrapValidator instance var bv = $form.data('bootstrapValidator'); // Use Ajax to submit form data $.post("/Account/Register", $form.serialize(), function (data) { console.log(data) if (data.Status == "ok") { window.location.href = "/Home/Index"; } else if (data.Status == "error") { alert(data.Message); } else { alert("未知錯誤"); } }); });
看看效果:
注意下:
這個input的樣式必須是這種方式(特別是form-group)
不然會報錯。
<div class="form-group"> <label> Email:</label> <input type="text" name="email" id="txtEmail" class="form-control" /> </div>